Control device and footstep determination device for legged mobile robot

ABSTRACT

A landing position/orientation of a foot ( 22 ) to be landed in a landing action of a robot ( 1 ) such as a biped mobile robot or the like is estimated, and a desired footstep path for the robot ( 1 ) is set up. Based on the estimated landing position/orientation and the desired footstep path, a future desired landing position/orientation is determined in order to cause actual footsteps of the robot ( 1 ) (a sequence of landing positions/orientations of the foot ( 22 )) to approach desired footsteps. Using at least the determined desired landing position/orientation, a desired gait for the robot ( 1 ) is determined, and the robot ( 1 ) is controlled in operation depending on the desired gait. For determining the desired landing position/orientation, mechanism-dependent limitations of the robot ( 1 ) such as an interference between the legs thereof, etc., and limiting conditions of an allowable range in which a desired ZMP can exist are taken into consideration.

TECHNICAL FIELD

The present invention relates to a legged mobile robot such as a bipedmobile robot or the like, and more particularly to an apparatus forguiding the path (guiding the trajectory) of such a legged mobile robot.

BACKGROUND ART

Generally, legged mobile robots which move by repeating lifting and thenlanding actions of each of a plurality of legs are problematic in thatas the moving speed of the robot increases, the frictional force betweenthe foot at the distal end of a leg and the floor reaches a limit due toreactive forces produced when the leg swings, causing an angularslippage between the foot and the floor, so that the robot as a wholehas its posture turned about a vertical axis and tends to deviate fromthe direction of a desired gait or from a desired path.

Additionally, only a desired gait for keeping the body of a robot in avertical posture (upstanding posture) at all times and causing the robotto walk straight is not necessarily generated. At a desired gait, theentire robot or the body of the robot may turn or may be tiltedforwardly, rearwardly, leftwardly, and rightwardly. That is, there is aposture rotation of the entire robot (or a posture rotation of arepresentative region such as the body of the robot) even at a desiredgait. In the present specification, a posture rotation at a desired gaitwill be referred to as a desired posture rotation.

The robot tends to be displaced from the direction of a desired gait orfrom a desired path basically due to the phenomenon that an actualposture rotation of the entire robot (or an actual posture rotation of arepresentative region such as the body) deviates from the desiredposture rotation. This phenomenon should strictly be called“perturbation from the desired posture rotation” or “posture rotationperturbation”. However, if there is no danger of confusion of thephenomenon with the desired posture rotation, then it will be shortenedinto “posture rotation”. A phenomenon that the robot in its entirety isrotated in posture about the vertical axis and deviates from thedirection of a desired gait will hereinafter referred to as “spin”.

In order to solve the above problems, it is necessary to recognize theposition of the robot and the direction in which the robot moves, andperform trajectory guidance control for preventing the robot fromdeviating from a desired path.

Known systems for path guidance control include trajectory guidancecontrol systems for flight vehicles such as rockets and unmannedvehicles. However, it has been difficult to apply these control systemsdirectly for controlling legged mobile robots. There are three reasons,for example, for the difficulty as described below.

First, many regions such as the body of a robot are intensivelyaccelerated and decelerated even while the robot is making one step, andit has been difficult to accurately recognize an actual position andposture (orientation) of those regions.

Secondly, even when a robot moves straight, for example, the position orposture of the body, which is a representative part, of the robot needsto swing to the left and right at all times in order to keep the robotin dynamic balance. Therefore, the speed of the body and the travelingdirection (moving direction) thereof are not in harmony with each other.Furthermore, since the robot can move in any desired directionsirrespective of the orientation of the body, the orientation of the bodyand the traveling direction thereof are not necessarily in agreementwith each other. That is, simply observing an instantaneous motionstatus of the robot, such as the speed of the body, the orientation ofthe robot, etc., fails to determine whether the robot is going todeviate from the desired path or not.

Thirdly, since the robot has to be kept in posture balance and thecapability limits of actuators must not be exceeded, the robot has beenunable to abruptly change the gait. For example, if the robot is toabruptly change the landing position for a foot thereof immediatelybefore the foot lands on the floor, the robot may be unable to changethe landing position because the speeds or forces of actuators may belikely to exceed their limits. Even when the robot can change thelanding position, the robot may possibly be thrown out of balance afterthe foot has landed on the floor.

As described above, it has been difficult to simply apply theconventional path guidance technology to robots.

The present invention has been made in view of the above background. Itis an object of the present invention to provide a control apparatus forcontrolling a legged mobile robot to appropriately perform a pathguidance (trajectory guidance) process for guiding the robot to follow adesired path.

Another object of the present invention is to provide a controlapparatus for controlling a legged mobile robot to move smoothly withoutgoing out of a limited range even when the landing position for each legis limited upon each step, as when the robot moves on steppingstones ora staircase.

Still another object of the present invention is to provide a footstepdetermining apparatus which is capable of appropriately determiningdesired footsteps for a robot as a row of landing positions/directionsfor legs based on a given desired path or a limited range of landingpositions with respect to steppingstones, before the robot moves or in asimulation performed by an offline computer.

DISCLOSURE OF THE INVENTION

To achieve the above objects, according to a first invention, there isprovided an apparatus for controlling a legged mobile robot which ismovable by repeating lifting and then landing actions of each of aplurality of legs, characterized by foot landing position/orientationestimating means for estimating a landing position and landingorientation of the foot of each of the legs which is landed in eachlanding action of the robot, desired path setting means for setting adesired footstep path for the robot, desired foot landing orientationdetermining means for determining a desired landing orientation of thefoot which is landed in at least either one of subsequent landingactions of the robot in order to cause actual footsteps of the robot toapproach the desired footstep path based on at least the estimatedlanding position and landing orientation of the foot and the desiredfootstep path, desired gait determining means for determining a desiredgait for the robot using at least the desired landing orientationdetermined by the desired foot landing orientation determining means,and operation control means for controlling operation of the robotdepending on the determined desired gait.

According to the first invention, attention is focused on a landingposition and landing orientation (hereinafter also referred to as alanding position/orientation) of the foot of each of the legs which islanded in each landing action of the robot, and the landingposition/orientation of the foot is used as representing the positionand moving orientation of the robot. An actual landingposition/orientation of the foot is estimated, and a desired footsteppath is set up as a target for footsteps of the robot represented by asequence of landing positions/orientations. Based on the estimatedlanding position/orientation and the desired footstep path, a desiredlanding orientation of the foot which is landed in at least either oneof subsequent landing actions of the robot in order to cause actualfootsteps (a sequence of landing positions/orientations that areestimated) of the robot to approach the desired footstep path. That is,a desired landing orientation for the foot to be landed in a futurelanding action is determined. A desired gait for the robot is determinedusing at least the determined desired landing orientation, and the robotis controlled in operation depending on the desired gait.

The landing positions/orientations of the feet of the robot are lessliable to suffer frequent variations than other parts of the robot, suchas a body thereof. Even when an angular slippage (spin) occurs betweenthe foot and the floor, any change in the landing position of the footdue to the angular slippage is small, and the stability of a change inthe landing orientation is high. Therefore, the landingposition/orientation of the foot is stabler as representing a positionand moving direction of the robot than the other parts of the robot.Therefore, when a landing position/orientation of the foot is estimated,the estimated landing position/orientation is suitable as representingan actual position and moving direction of the robot. As a result,according to the first invention, the robot can appropriately be guidedfor movement along a path.

In the first invention, the desired landing orientation preferablycomprises an orientation about a vertical axis, and the landingorientation estimated by the foot landing position/orientationestimating means preferably includes at least an orientation about avertical axis (second invention). This is because an actual moving pathof the robot is mainly determined by the orientation of the landed footabout the vertical axis.

In the first invention or the second invention, if the legged mobilerobot comprises a biped mobile robot having two legs, the desiredlanding orientation determined by the desired foot landing orientationdetermining means preferably includes at least a desired landingorientation of the foot which is to be landed in a next time's landingaction of the robot and a desired landing orientation of the foot whichis to be landed in a next but one time's landing action of the robot,and the desired gait determining means preferably determines a desiredgait which defines the next time's landing action of the robot using atleast the desired landing orientation determined by the desired footlanding orientation determining means for the next time's landing actionand the next but one time's landing action (third invention).

With the biped mobile robot, by determining next time's and next but onetime's desired landing positions/orientations and determining a desiredgait which defines the next time's landing action using at least thedesired landing orientations, it is possible to determine a desired gaittaking into account a next but two time's desired landing orientationwhen the desired gait which defines the next time's landing action isdetermined. As a consequence, the robot can be moved highly stably whilecausing the actual footstep path of the robot to approach the desiredfootstep path.

In the first through third inventions, preferably the desired footlanding orientation determining means determines a desired landingposition for the foot which determines the desired landing orientation,together with the desired landing orientation, based on at least thelanding position and landing orientation of the foot estimated by thefoot landing position/orientation estimating means and the desiredfootstep path, and the desired gait determining means determines thedesired gait using the desired landing position and the desired landingorientation which are determined by the desired foot landing orientationdetermining means (fourth invention).

With the above arrangement, not only the desired landing orientation,but also the desired landing position, are determined, and they are usedin determining the desired gait. Thus, the desired gait for causing thefootstep path of the robot to approach the desired footstep path moresmoothly can be determined.

In the fourth invention, preferably, the desired foot landingorientation determining means comprises means for determining a desiredlanding orientation about a vertical axis and a desired landing positionof the foot which is to be landed in at least several landing actionsahead including a next time's landing action, based on at least thelanding position and landing orientation estimated by the foot landingposition/orientation estimating means and the desired footstep path, thedesired gait determining means comprises means for determining a desiredgait which defines the next time's landing action using at least thedesired landing position and desired landing orientation of the foot inthe several landing actions ahead, which are determined by the desiredfoot landing orientation determining means, and the desired foot landingorientation determining means determines a combination of a desiredlanding position and a desired landing orientation of the foot within aself-dependent allowable landing range determined undermechanism-dependent limiting conditions of the robot itself, whichinclude an interference between the leg making the next time's landingaction and the other leg, when a desired landing position and a desiredlanding orientation of the foot corresponding to at least the nextlanding action are to be determined (fifth invention). The severallanding actions may be one landing action.

According to the fifth invention, when a next time's desired landingposition/orientation is to be determined, a combination of the desiredlanding position/orientation is determined within the self-dependentallowable landing range. Therefore, not only the ability to follow thedesired footstep path, but also the mechanism-dependent limitingconditions of the robot itself, which include an interference betweenthe leg making the next time's landing action and the other leg, aretaken into consideration. Therefore, a desired gait for causing thefootstep path of the robot to follow the desired footstep path andpreventing the legs of the robot from interfering with each other isdetermined to move the robot smoothly.

The self-dependent allowable landing range is preferably set based on amap or formula which is determined in advance as defining a relativeallowable landing range of the foot to be landed in the next time'slanding action, with respect to the foot landed in the landing action(sixth invention). As the self-dependent allowable landing range dependsupon a relative positional and orientational relationship between thelanded foot and the foot to be landed next, that relationship may berepresented by a map or formula for reducing calculating loads that areimposed when the self-dependent allowable landing range is determined.

In the fifth or sixth invention, preferably, the desired gaitdetermining means comprises means for provisionally determining adesired ZMP in the desired gait which defines the next time's landingaction using at least the desired landing position and desired landingorientation determined by the desired foot landing orientationdetermining means, and the desired foot landing orientation determiningmeans corrects at least either one of the desired landing position anddesired landing orientation of the foot to be landed in at least eitherone of the several landing actions ahead when the provisionallydetermined desired ZMP does not satisfy predetermined limitingconditions (seventh invention).

A desired ZMP for a gait which satisfies dynamic equilibrium conditionsis affected by the desired landing position or the desired landingorientation, and needs to exist in a landing surface of the robot (moreaccurately, within a so-called supporting polygonal shape). Therefore,if the desired ZMP does not satisfy predetermined limiting conditions(specifically, conditions in which the desired ZMP can exist), at leasteither one of the desired landing position and desired landingorientation of the foot to be landed in at least either one of theseveral landing actions ahead is corrected to determine a desired gaitwhich is capable of causing the footsteps of the robot to follow thedesired footstep path while keeping the robot in dynamic stability.

In the fourth through seventh inventions, if the legged mobile robotcomprises a biped mobile robot having two legs, the desired landingposition for the foot preferably comprises a representative point havinga predetermined positional relationship to each foot and a desiredposition for a representative point which is determined in advance withrespect to each foot such that the representative point with respect toeach foot becomes an identical point for both feet when the robot isupstanding in a predetermined reference symmetrical posture, and thedesired footstep path preferably comprises a path to be approached bythe representative point (eighth invention). With this arrangement, thedesired footstep path may be shared by the feet of the left and rightlegs of the robot.

In the eighth invention, the representative point preferably comprises apoint set up near the heel or toe of each foot (ninth invention). Thismakes it possible to prevent the feet from interfering with each otherwhen the feet are landed closely to each other.

According to a tenth invention, there is provided an apparatus forcontrolling a legged mobile robot which is movable by repeating liftingand then landing actions of each of a plurality of legs to determine adesired gait, control operation of the robot depending on the desiredgait, determine a hypothetical periodic gait following a new desiredgait when the new desired gait is determined each time the foot of eachleg of the robot is landed in at least each landing action of the robot,and determines the desired gait so as to approach the periodic gait,comprising foot landing position/orientation estimating means forestimating a landing position and landing orientation of the foot ofeach of the legs which is landed in each landing action of the robot,desired path setting means for setting a desired footstep path for therobot, desired foot landing position/orientation provisionallydetermining means for provisionally determining a desired landingposition and desired landing orientation of the foot which is landed inat least either one of subsequent landing actions of the robot based onat least either one of a latest desired gait and the periodic gaitcorresponding to the desired gait, and the estimated landing positionand landing orientation of the foot, desired foot landingposition/orientation correcting means for correcting at least either oneof the provisionally determined desired landing position and desiredlanding orientation in order to cause actual footsteps of the robot toapproach the desired footstep path based on the provisionally determineddesired landing position and desired landing orientation and the desiredfootstep path, and desired gait determining means for determining thenew desired gait for the robot using at least the corrected desiredlanding position and desired landing orientation.

According to the tenth invention, as with the first invention, attentionis focused on a landing position and landing orientation of the foot ofthe robot, and the landing position/orientation of the foot is used asrepresenting the position and moving orientation of the robot. Accordingto the tenth invention, a desired landing position and desired landingorientation of the foot which is landed in at least either one ofsubsequent landing actions of the robot is provisionally determinedbased on at least either one of a latest desired gait (a latest one ofalready determined desired gaits) and the periodic gait corresponding tothe desired gait, and the estimated landing position and landingorientation of the foot. Then, at least either one of the provisionallydetermined desired landing position and desired landing orientation iscorrected in order to cause actual footsteps of the robot to approachthe desired footstep path based on the provisionally determined desiredlanding position and desired landing orientation and the desiredfootstep path. The new desired gait for the robot is determined using atleast the corrected desired landing position and desired landingorientation, and the robot is controlled in operation depending on thedesired gait. According to the tenth invention, therefore, the robot canappropriately be guided for movement along a path while keeping therobot in continued stability.

In the tenth invention, as with the second invention, preferably, thedesired landing orientation comprises an orientation about a verticalaxis, and the landing orientation estimated by the foot landingposition/orientation estimating means includes at least an orientationabout a vertical axis (eleventh invention).

In the tenth or eleventh invention, preferably, the desired gaitdetermining means comprises means for provisionally determining adesired ZMP in the new desired gait using at least the desired landingposition and desired landing orientation corrected by the desired footlanding position/orientation correcting means, and the desired footlanding position/orientation correcting means corrects at least eitherone of the desired landing position and desired landing orientation inat least either one of the several landing actions, which has beenprovisionally determined by the desired foot landingposition/orientation provisionally determining means, when theprovisionally determined desired ZMP does not satisfy predeterminedlimiting conditions (twelfth invention).

With the above arrangement, it is possible to determine a desired gaitwhich is capable of causing the footsteps of the robot to follow thedesired footstep path while keeping the robot in dynamic stability, aswith the seventh invention.

In the tenth through twelfth inventions, if the legged mobile robotcomprises a biped mobile robot having two legs, the desired landingposition for the foot preferably comprises a representative point havinga predetermined positional relationship to each foot and a desiredposition for a representative point which is determined in advance withrespect to each foot such that the representative point with respect toeach foot becomes an identical point for both feet when the robot isupstanding in a predetermined reference symmetrical posture, and thedesired footstep path preferably comprises a path to be approached bythe representative point (thirteenth invention). In the thirteenthinvention, the representative point preferably comprises a point set upnear the heel or toe of each foot (fourteenth invention). The thirteenthinvention and the fourteenth invention offer the same operation andadvantages as the eighth invention and the ninth invention,respectively.

According to a fifteenth invention, there is provided an apparatus forcontrolling a legged mobile robot which is movable by repeating liftingand then landing actions of each of a plurality of legs, comprising footlanding position/orientation estimating means for estimating a landingposition and landing orientation of the foot of each of the legs whichis landed in each landing action of the robot, allowable foot landingrange setting means for setting a plurality of environment-dependentallowable landing ranges corresponding to several landing actions aheadwhich include at least next time's and next but one time's landingactions, of environment-dependent allowable landing ranges determinedunder environmental conditions in which the robot moves, which areallowable ranges of combinations of landing positions and landingorientations of feet landed in the landing actions of the robot, desiredfoot landing position/orientation determining means for determiningcombinations of desired landing positions and desired landingorientations of feet to be landed in the several landing actions aheadin order to satisfy the environment-dependent allowable landing positionranges, based on at least the estimated landing orientation of the footand a plurality of environment-dependent allowable landing positionranges set by the allowable foot landing range setting means, desiredgait determining means for determining a hypothetical periodic gait ofthe robot using at least the determined desired landing positions anddesired landing orientations corresponding to the determined severallanding actions ahead, and determining a new desired gait for the robotwhich defines at least the next time's landing action in order toapproach the determined hypothetical periodic gait, and operationcontrol means for controlling operation of the robot depending on thedetermined new desired gait.

According to the fifteenth invention, as with the first invention,attention is focused on a landing position and landing orientation ofthe foot of the robot, and the landing position/orientation of the footis used as representing the position and moving orientation of therobot. According to the fifteenth invention, environment-dependentallowable landing ranges are set up instead of the desired footsteppath, and combinations of desired landing positions and desired landingorientations of feet to be landed in the several landing actions aheadare determined in order to satisfy the environment-dependent allowablelanding position ranges, based on at least the estimated landingorientation of the foot and environment-dependent allowable landingposition ranges. A hypothetical periodic gait of the robot is determinedusing at least the determined desired landing positions and desiredlanding orientations, and a new desired gait for the robot which definesat least the next time's landing action is determined in order toapproach the determined hypothetical periodic gait. The robot is thencontrolled in operation depending on the determined new desired gait.

According to the fifteenth invention, a desired gait for satisfying theenvironment-dependent allowable landing position ranges (not deviatingfrom those ranges) in each landing action while keeping the robot incontinued stability is determined to move the robot. Therefore, when therobot moves on steppingstones or the like, the rotor can be controlledto move in continued stability while preventing the feet from steppingout of an allowable landing range such as the stepping stones or thelike.

In the fifteenth invention, as with the second invention, preferably thedesired landing orientation comprises an orientation about a verticalaxis, and the landing orientation estimated by the foot landingposition/orientation estimating means includes at least an orientationabout a vertical axis (sixteenth invention).

In the fifteenth or sixteenth invention, preferably the desired footlanding position/orientation determining means determines a combinationof a desired landing position and desired landing orientation for thefoot in at least the next time's landing action within a common regionof a self-dependent allowable landing range determined undermechanism-dependent limiting conditions of the robot itself, whichinclude an interference between the leg making the next time's landingaction and the other leg, and the environment-dependent allowablelanding range corresponding to the next time's landing action, and thedesired gait determining means uses the desired landing position anddesired landing orientation for the foot to be landed in at least thenext time's landing action in order to determine the hypotheticalperiodic gait (seventeenth invention).

With the above arrangement, when a desired landing position and desiredlanding orientation for the foot in at least the next time's landingaction is to be determined, a combination of a desired landing positionand desired landing orientation is determined in a common region of theenvironment-dependent allowable landing range and a self-dependentallowable landing range. Therefore, not only limiting conditions posedon landing positions/orientations due to the environment-dependentallowable landing range, but also the mechanism-dependent limitingconditions of the robot itself, which include an interference betweenthe leg making the next time's landing action and the other leg, aretaken into account. Consequently, a desired gait for preventing the legsof the robot from interfering with each other while satisfying theconditions on the landing positions/orientations due to theenvironment-dependent allowable landing range is determined to move therobot smoothly.

In the seventeenth invention, the self-dependent allowable landing rangeis preferably set based on a map or formula which is determined inadvance as defining a relative allowable landing range of the foot to belanded in the next time's landing action, with respect to the footlanded in the landing action (eighteenth invention). With thisarrangement, as with the sixth invention, calculating loads can bereduced when the self-dependent allowable landing range is determined.

In the fifteenth through eighteenth inventions, preferably, the desiredgait determining means comprises means for provisionally determining adesired ZMP in the desired gait for the robot which defines at least thenext time's landing action, and the desired foot landingposition/orientation determining means corrects at least either one ofthe desired landing position and desired landing orientation of the footto be landed in at least either one of the several landing actions aheadwhen the provisionally determined desired ZMP does not satisfypredetermined limiting conditions (nineteenth invention).

According to the nineteenth invention, as with the seventh invention, itis possible to determine a desired gait which is capable of causing thefootsteps of the robot to follow the desired footstep path while keepingthe robot in dynamic stability.

In the fifteenth through nineteenth inventions, if the legged mobilerobot comprises a biped mobile robot having two legs, the desiredlanding position for the foot preferably comprises a representativepoint having a predetermined positional relationship to each foot and adesired position for a representative point which is determined inadvance with respect to each foot such that the representative pointwith respect to each foot becomes an identical point for both feet whenthe robot is upstanding in a predetermined reference symmetrical posture(twentieth invention). With this arrangement, since theenvironment-dependent allowable landing range and the self-dependentallowable landing range are each set up as an allowable range ofcombinations of the position of the representative point and the desiredlanding orientation of the foot, they can easily be set up.

In the twentieth invention, the representative point preferablycomprises a point set up near the heel or toe of each foot (twenty-firstinvention). This arrangement offers the same operation and advantages asthe ninth invention.

According to a twenty-second invention, there is provided an apparatusfor controlling a legged mobile robot which is movable by repeatinglifting and then landing actions of each of a plurality of legs,comprising foot landing position/orientation estimating means forestimating a landing position and landing orientation of the foot ofeach of the legs which is landed in each landing action of the robot,first allowable landing range setting means for setting a plurality ofenvironment-dependent allowable landing ranges corresponding to severallanding actions ahead which include at least next time's and next butone time's landing actions, of environment-dependent allowable landingranges determined under environmental conditions in which the robotmoves, which are allowable ranges of combinations of landing positionsand landing orientations of feet landed in the landing actions of therobot, second allowable landing range setting means for setting aself-dependent allowable landing range for a combination of a landingposition and landing orientation of the foot to be landed in the nexttime's landing action, based on a desired landing position and desiredlanding orientation of the foot in each landing action which areestimated by the foot landing position/orientation estimating means andmechanism-dependent limiting conditions of the robot itself, whichinclude an interference between the leg making the next time's landingaction and the other leg, desired foot landing position/orientationdetermining means for determining a combination of a desired landingposition and desired landing orientation of a foot to be landed in thenext time's landing action within a common region of theenvironment-dependent allowable landing range and the self-dependentallowable landing range which are set respectively by the firstallowable landing range setting means and the second allowable landingrange setting means for at least the next time's landing action, basedon the environment-dependent allowable landing range and theself-dependent allowable landing range, desired gait determining meansfor determining a desired gait which defines the next time's landingaction using at least the determined desired landing position anddesired landing orientation, and operation control means for controllingoperation of the robot depending on the determined desired gait.

According to the twenty-second invention, as with the first invention,attention is focused on a landing position and landing orientation ofthe foot of the robot, and the landing position/orientation of the footis used as representing the position and moving orientation of therobot. According to the twenty-second invention, theenvironment-dependent allowable landing range and the self-dependentallowable landing range are set up, and a combination of a desiredlanding position and desired landing orientation of a foot to be landedin the next time's landing action within a common region of thoseranges. A desired gait which defines the next time's landing action isdetermined using at least the determined desired landing position anddesired landing orientation, and the robot is controlled in operationdepending on the determined desired gait.

According to the twenty-second invention, therefore, a desired gait forsatisfying both the environment-dependent allowable landing positionranges and the self-depending allowable landing range (not deviatingfrom those ranges) in each landing action is determined to move therobot. Therefore, when the robot moves on stepping stones or the like,the rotor can be controlled to move while preventing the feet fromstepping out of an allowable landing range such as the stepping stonesor the like or from interfering with each other.

In the twenty-second invention, the desired landing orientationpreferably comprises an orientation about a vertical axis, and thelanding orientation estimated by the foot landing position/orientationestimating means preferably includes at least an orientation about avertical axis (twenty-third invention).

In the twenty-second or twenty-third invention, preferably, the desiredfoot landing position/orientation determining means comprises means fordetermining the desired landing position and desired landing orientationcorresponding to the next time's landing action and thereafterprovisionally determining a self-dependent allowable landing range forthe landing position of the foot to be landed in the next but one time'slanding action based on the determined desired landing position anddesired landing orientation and the mechanism-dependent limitingconditions of the robot, and means for correcting at least either one ofthe desired landing position and desired landing orientationcorresponding to the next time's landing action in order to have acommon region of at least the provisionally determined self-dependentallowable landing range corresponding to the next but one time's landingaction and the next but one time's environment-dependent allowable rangeset by the first allowable landing range setting means for the next butone time's landing action, if the common region is not provided(twenty-fourth invention).

With the above arrangement, when the next but one time'senvironment-dependent allowable range and the self-dependent allowablelanding range corresponding to the next but one time's landing actionwhich is provisionally determined for the next time's desired landingposition/orientation have no common region, the next time's desiredlanding position/orientation that has previously been determined iscorrected to provide such a common region. That is, the next time'sdesired landing position/orientation is appropriately corrected anddetermined so that the next but one time's environment-dependentallowable range and the next but one time's self-dependent allowablelanding range have a common region. Stated otherwise, the desiredlanding position/orientation in each landing action is determined fordetermining, continuously in the future, the desired landingposition/orientation which satisfies a common region of theenvironment-dependent allowable range and the self-dependent allowablelanding range. As a result, when the robot moves on stepping stones orthe like, the robot is allowed to move continuously without stoppingwhile in motion.

In the twenty-second through twenty-fourth inventions, the secondallowable landing range setting means preferably sets the self-dependentallowable landing range based on a map or formula which is determined inadvance as defining a relative allowable landing range of the foot to belanded in the next time's landing action, with respect to the footlanded in the landing action (twenty-fifth invention). With thisarrangement, as with the sixth invention, calculating loads that areimposed when the self-dependent allowable landing range is determinedcan be reduced.

In the twenty-second through twenty-fifth inventions, if the leggedmobile robot comprises a biped mobile robot having two legs, the desiredlanding position for the foot preferably comprises a point having apredetermined positional relationship to each foot and a position of arepresentative point which is determined in advance with respect to eachfoot such that the representative point with respect to each footbecomes an identical point for both feet when the robot is upstanding ina predetermined reference symmetrical posture (twenty-sixth invention).With this arrangement, since the environment-dependent allowable landingrange and the self-dependent allowable landing range are each set up asan allowable range of combinations of the desired position of therepresentative point and the desired landing orientation of the foot,they can easily be set up.

In the twenty-sixth invention, the representative point preferablycomprises a point set up near the heel or toe of each foot(twenty-seventh invention). This arrangement offers the same operationand advantages as the ninth invention.

According to a twenty-eighth invention, there is provided a footstepdetermining apparatus for determining a desired landing position anddesired landing orientation for the foot of a leg to be landed in eachlanding action of a legged mobile robot which is movable by repeatinglifting and then landing actions of each of a plurality of legs,comprising desired path setting means for setting a desired footsteppath for the robot, wherein the desired landing position and desiredlanding orientation for the foot to be landed in each landing action ofthe robot are determined based on the desired landing position anddesired landing orientation for the foot landed in at least thepreceding landing action, and the desired footstep path.

According to the twenty-eighth invention, as with the first invention,attention is focused on a landing position and landing orientation ofthe foot of the robot, and the landing position/orientation of the footis used as representing the position and moving orientation of therobot. According to the twenty-eighth invention, a desired landingposition and desired landing orientation for the foot of a leg to belanded in each landing action is determined based on the desired landingposition and desired landing orientation for the foot landed in at leastthe preceding landing action, and the desired footstep path. Therefore,before the robot starts moving, a sequence of desired landingpositions/orientations for following the desired footstep path, i.e.,desired footsteps, can properly be determined.

In the twenty-eighth invention, the desired landing orientationpreferably comprises an orientation about a vertical axis (twenty-ninthinvention).

In the twenty-eighth or twenty-ninth invention, when a desired landingposition and desired landing orientation for the foot to be landed ineach landing action of the robot is to be determined, a combination of adesired landing position and desired landing orientation for the foot inthe landing action is preferably determined in a self-dependentallowable landing range which is determined under mechanism-dependentlimiting conditions of the robot itself, which include an interferencebetween the leg making the landing action and the other leg (thirtiethinvention).

According to the thirtieth invention, when a desired landing positionand desired landing orientation in each landing action is to bedetermined, since a combination of a desired landing position anddesired landing orientation is determined within the self-dependentallowable landing range, not only the ability to follow the desiredfootstep path, but also the mechanism-dependent limiting conditions ofthe robot itself, which include an interference between the leg makingthe next time's landing action and the other leg, are taken intoconsideration. Therefore, a sequence of desired landingpositions/orientations (desired footsteps) for causing the footstep pathof the robot to follow the desired footstep path and preventing the legsof the robot from interfering with each other is determined.

In the thirtieth invention, preferably, the self-dependent allowablelanding range which is used to determine a desired landing position anddesired landing orientation for the foot to be landed in an Nth landingaction of the robot is set based on a map or formula which is determinedin advance as defining a relative allowable landing range of the foot tobe landed in the Nth landing action with respect to the foot to belanded in an (N−1)th landing action (thirty-first invention). With thisarrangement, as with the sixth invention, calculating loads that areimposed when the self-dependent allowable landing range is determinedcan be reduced.

In the twenty-eighth through thirty-first inventions, the footstepdetermining apparatus preferably has desired landingposition/orientation provisionally determining means for, when a desiredlanding position and desired landing orientation for the foot to belanded in an Nth landing action of the robot is to be determined,provisionally determining a desired landing position and desired landingorientation of the foot to be landed in several landing actions aheadincluding the Nth landing action, based on a desired landing positionand desired landing orientation for the foot to be landed in an (N−1)thlanding action and the desired footstep path, provisional desired gaitdetermining means for determining a provisional desired gait of therobot which defines at least the Nth landing action using theprovisionally determined desired landing position and desired landingorientation in the several landing actions ahead, and desired landingposition/orientation correcting means for determining whether a desiredZMP corresponding to the determined provisional desired gait satisfies apredetermined limiting condition or not, and, if the desired ZMP doesnot satisfy the predetermined limiting condition, correcting at leasteither one of the desired landing position and desired landingorientation of the foot to be landed in the Nth landing action, therebyto determine the desired landing position and desired landingorientation of the foot to be landed in the Nth landing action(thirty-second invention).

According to the thirty-second invention, a desired landing position anddesired landing orientation of the foot to be landed in several landingactions ahead including the Nth landing action is provisionallydetermined (only a desired landing position and desired landingorientation in the Nth landing action may be provisionally determined),and a provisional desired gait of the robot which defines at least theNth landing action is determined using the provisionally determineddesired landing position/orientation If the desired ZMP of theprovisional desired gait does not satisfy the predetermined limitingcondition (specifically, the condition in which the desired ZMP canexist), then at least either one of the provisionally determined desiredlanding position and desired landing orientation in the Nth landingaction is corrected thereby to determine the desired landing positionand desired landing orientation in the Nth landing action. Consequently,based on the same concept as with the seventh invention, it is possibleto determine a sequence of desired landing positions/orientations(desired footsteps) which is capable of causing the footsteps of therobot to follow the desired footstep path while keeping the robot indynamic stability.

In the twenty-eighth through thirty-second inventions, if the leggedmobile robot comprises a biped mobile robot having two legs, the desiredlanding position for the foot preferably comprises a point having apredetermined positional relationship to each foot and a desiredposition for a representative point which is determined in advance withrespect to each foot such that the representative point with respect toeach foot becomes an identical point for both feet when the robot isupstanding in a predetermined reference symmetrical posture, and thedesired footstep path preferably comprises a path to be approached bythe representative point (thirty-third invention). In the thirty-thirdinvention, the representative point preferably comprises a point set upnear the heel or toe of each foot (thirty-fourth invention). Thethirty-third invention and the thirty-fourth invention offer the sameoperation and advantages as the eighth invention and the ninthinvention, respectively.

According to a thirty-fifth invention, there is provided a footstepdetermining apparatus for determining a desired landing position anddesired landing orientation for the foot of a leg to be landed in eachlanding action of a legged mobile robot which is movable by repeatinglifting and then landing actions of each of a plurality of legs,comprising allowable foot landing range setting means for setting anenvironment-dependent allowable landing range determined underenvironmental conditions in which the robot moves, which is an allowablerange of combinations of landing positions and landing orientations offeet landed in each landing actions of the robot, wherein a combinationof the desired landing position and desired landing orientation for thefoot to be landed in each landing action of the robot is determinedbased on the desired landing position and desired landing orientationfor the foot landed in at least the preceding landing action, and theenvironment-dependent allowable landing range.

According to the thirty-fifth invention, as with the first invention,attention is focused on a landing position and landing orientation ofthe foot of the robot, and the landing position/orientation of the footis used as representing the position and moving orientation of therobot. According to the thirty-fifth invention, a combination of thedesired landing position and desired landing orientation for the foot tobe landed in each landing action of the robot is determined based on thedesired landing position and desired landing orientation for the footlanded in at least the preceding landing action, and theenvironment-dependent allowable landing range. Therefore, before therobot starts moving, a sequence of desired landingpositions/orientations for preventing the feet of the robot fromstepping out of an allowable landing range such as the stepping stonesor the like, i.e., desired footsteps, can properly be determined.

In the thirty-fifth invention, the desired landing orientationpreferably comprises an orientation about a vertical axis (thirty-sixthinvention).

In the thirty-fifth or thirty-sixth invention, when a desired landingposition and desired landing orientation for the foot to be landed ineach landing action of the robot is to be determined, a combination of adesired landing position and desired landing orientation for the foot inthe landing action is preferably determined in a common region of aself-dependent allowable landing range determined undermechanism-dependent limiting conditions of the robot itself, whichinclude an interference between the leg making the landing action andthe other leg, and the environment-dependent allowable landing rangecorresponding to the landing action, based on the self-dependentallowable landing range and the environment-dependent allowable landingrange (thirty-seventh invention).

With the above arrangement, since a combination of a desired landingposition and desired landing orientation for the foot in each landingaction is determined in a common region of the environment-dependentallowable landing range and the self-dependent allowable landing range,not only limiting conditions posed on landing positions/orientations dueto the environment-dependent allowable landing range, but also themechanism-dependent limiting conditions of the robot itself, whichinclude an interference between the leg making the next time's landingaction and the other leg, are taken into account. Consequently, asequence of desired landing positions/orientations for preventing thefeet of the robot from interfering with each other (desired footsteps)while satisfying the conditions on the landing positions/orientationsdue to the environment-dependent allowable landing range is determined.

In the thirty-seventh invention, the self-dependent allowable landingrange which is used to determine a desired landing position and desiredlanding orientation for the foot to be landed in an Nth landing actionof the robot is preferably set based on a map or formula which isdetermined in advance as defining a relative allowable landing range ofthe foot to be landed in the Nth landing action with respect to the footto be landed in an (N−1)th landing action (thirty-eighth invention).With this arrangement, as with the sixth invention, calculating loadsthat are imposed when the self-dependent allowable landing range isdetermined can be reduced.

In the thirty-seventh or thirty-eighth invention, the footstepdetermining apparatus preferably has desired landingposition/orientation provisionally determining means for, when a desiredlanding position and desired landing orientation for the foot to belanded in an Nth landing action of the robot is to be determined,provisionally determining a desired landing position and desired landingorientation of the foot to be landed in several landing actions aheadincluding the Nth landing action, based on a desired landing positionand desired landing orientation for the foot to be landed in an (N−1)thlanding action, the environment-dependent allowable landing rangecorresponding to each of the several landing actions ahead, and theself-dependent allowable landing range corresponding to each of theseveral landing actions ahead, provisional desired gait determiningmeans for determining a provisional desired gait of the robot whichdefines at least the Nth landing action using the provisionallydetermined desired landing position and desired landing orientation inthe several landing actions ahead, and desired landingposition/orientation correcting means for determining whether a desiredZMP corresponding to the determined provisional desired gait satisfies apredetermined limiting condition or not, and, if the desired ZMP doesnot satisfy the predetermined limiting condition, correcting at leasteither one of the desired landing position and desired landingorientation of the foot to be landed in the Nth landing action, therebyto determine a combination of the desired landing position and desiredlanding orientation of the foot to be landed in the Nth landing action(thirty-ninth invention).

According to the thirty-ninth invention, a desired landing position anddesired landing orientation of the foot to be landed in several landingactions ahead including the Nth landing action is provisionallydetermined (only a desired landing position and desired landingorientation in the Nth landing action may be provisionally determined),and a provisional desired gait which defines at least the Nth landingaction is determined using the provisionally determined desired landingposition/orientation. If the desired ZMP of the provisional desired gaitdoes not satisfy the predetermined limiting condition (specifically, thecondition in which the desired ZMP can exist), then at least either oneof the provisionally determined desired landing position and desiredlanding orientation in the Nth landing action is corrected thereby todetermine the desired landing position/orientation in the Nth landingaction. Consequently, based on the same concept as with the seventhinvention, it is possible to determine a sequence of desired landingpositions/orientations (desired footsteps) which is capable ofsatisfying the limiting condition of the environment-dependent allowablelanding range and the self-dependent allowable landing range, whilekeeping the robot in dynamic stability.

In the thirty-fifth through thirty-ninth inventions, if the leggedmobile robot comprises a biped mobile robot having two legs, the desiredlanding position for the foot preferably comprises a point having apredetermined positional relationship to each foot and a desiredposition for a representative point which is determined in advance withrespect to each foot such that the representative point with respect toeach foot becomes an identical point for both feet when the robot isupstanding in a predetermined reference symmetrical posture (fortiethinvention). With this arrangement, since the environment-dependentallowable landing range and the self-dependent allowable landing rangeare each set up as an allowable range of the position of therepresentative point and the desired landing orientation of the foot,they can easily be set up.

In the fortieth invention, the representative point preferably comprisesa point set up near the heel or toe of each foot (forty-firstinvention). This arrangement offers the same operation and advantages asthe ninth invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic view showing a general overall arrangement of abiped mobile robot as a legged mobile robot according to an embodimentof the present invention;

FIG. 2 is a schematic view showing a general arrangement of a foot ofeach leg shown in FIG. 1;

FIGS. 3 and 4 are a sectional side elevational view and a bottom view,respectively, showing a detailed arrangement of the foot of each leg;

FIG. 5 is a block diagram showing an arrangement of a control unit ofthe robot shown in FIG. 1;

FIG. 6 is a block diagram showing a functional arrangement of thecontrol unit shown in FIG. 5;

FIG. 7 is a diagram showing a running gait of the robot;

FIGS. 8(a) and 8(b) are graphs showing setting examples of floorreaction force vertical component and desired ZMP of a desired gait;

FIG. 9 is a flowchart of a processing sequence of the control unitaccording to a first embodiment;

FIG. 10 is a flow-chart of a self position/posture estimating process inthe flowchart shown in FIG. 9;

FIG. 11 is a diagram illustrative of the self position/postureestimating process in the flowchart shown in FIG. 9;

FIG. 12 is a diagram illustrative of a normal turning gait that isdetermined by the processing sequence of the flowchart shown in FIG. 9;

FIG. 13 is a flowchart of a trajectory guidance process in the flowchartshown in FIG. 9;

FIGS. 14 through 19 are diagrams illustrative of the trajectory guidanceprocess;

FIG. 20 is a flowchart of a trajectory guidance correcting process inthe flowchart shown in FIG. 9;

FIG. 21 is a flowchart of a trajectory guidance process according to asecond embodiment;

FIGS. 22 and 23 are diagrams illustrative of the trajectory guidanceprocess according to the second embodiment;

FIG. 24 is a flowchart of a trajectory guidance correcting processaccording to the second embodiment;

FIG. 25 is a flowchart of a trajectory guidance process according to athird embodiment;

FIG. 26 is a diagram illustrative of the trajectory guidance processaccording to the third embodiment;

FIG. 27 is a flowchart of a trajectory guidance correcting processaccording to the third embodiment;

FIG. 28 is a flowchart of a trajectory guidance process according to afourth embodiment;

FIG. 29 is a diagram illustrative of the trajectory guidance processaccording to the fourth embodiment;

FIG. 30 is a flowchart of a trajectory guidance correcting processaccording to the fourth embodiment;

FIG. 31 is a flowchart of a trajectory guidance process according to afifth embodiment;

FIG. 32 is a diagram illustrative of the trajectory guidance processaccording to the fifth embodiment;

FIGS. 33 and 34 are a flowchart of a detailed process in the flowchartshown in FIG. 31 and a diagram illustrative of the detailed process;

FIG. 35 is a flowchart of a trajectory guidance correcting processaccording to the fifth embodiment;

FIG. 36 is a flowchart of a footstep determining process according to aseventh embodiment; and

FIG. 37 is a diagram showing another example of a desired path.

BEST MODE FOR CARRYING OUT THE INVENTION

A control apparatus for a legged mobile robot according to embodimentsof the present invention will be described below with reference to theaccompanying drawings. A biped mobile robot will be described by way ofexample as the legged mobile robot.

FIG. 1 is a schematic view showing a biped mobile robot in its entiretyas a legged mobile robot according to an embodiment of the presentinvention.

As shown in FIG. 1, a biped mobile robot (hereinafter referred to asrobot) 1 has a pair of left and right legs (leg links) 2, 2 extendingdownwardly from a body (base body of the robot 1) thereof. The legs 2, 2are identical in structure to each other, and each have six joints. Thesix joints include, successively from the body 3, joints 10R, 10L (thereference characters R, L mean that these joints correspond respectivelyto right and left legs, and are also applicable below) for turning(rotating) a hip (waist) (for rotating in yaw direction with respect tothe body 3), joints 12R, 12L for rotating the hip (waist) in a rollingdirection (about an X-axis), joints 14R, 14L for rotating the hip(waist) in a pitching direction (about a Y-axis), joints 16R, 16L forrotating knees in the pitching direction, joints 18R, 18L for rotatingankles in the pitching direction, and joints 20R, 20L for rotating theankles in the rolling direction.

Feet (foot portions) 22R(L) at the distal ends of the respective legs 2are mounted on lower portions of the two joints 18R(L), 20R(L) of theankles of the legs 2. The body 3 is mounted on the uppermost portions ofthe legs 2, 2 by the three joints 10R(L), 12R(L), 14R(L) of the hip ofthe legs 2. A control unit 60 to be described in detail below is housedin the body 3. In FIG. 1, the control unit 60 is shown as being outsideof the body 3 for illustrative purposes.

In the legs 2 of the above construction, hip joints (or waist joints)are made up of the joints 10R(L), 12R(L), 14R(L), knee joints of thejoints 16R(L), and ankle joints of the joints 18R(L), 20R(L). The hipjoints and the knee joints are connected to each other by thigh links24R(L), and the knee joints and the ankle joints are connected to eachother by crus links 26R(L).

A pair of left and right arms 5, 5 is mounted on opposite sides of anupper portion of the body 3, and a head 5 is mounted on an upper end ofthe body 3. The arms 5, 5 and the head 4 will not be described in detailbelow as they have no direct bearing on the gist of the invention.

With the above arrangement, the feet 22R(L) of the legs 2 have sixdegrees of freedom with respect to the body 3. While the robot 1 ismoving, e.g., walking, a total of 6*2=12 (in the presentspecification, * represents a multiplication as a calculation withrespect to scalar quantities and an outer product as a calculation withrespect to vectors) joints of both the legs 2, 2 are actuated throughsuitable angles to cause the feet 22R, 22L to make a desired motion. Therobot 1 can thus move optionally in a three-dimensional space.

As shown in FIG. 1, known six-axis force sensors 50 are interposedbetween the ankle joints 18R(L), 20R(L) of the legs 2 and the feet22R(L) below the ankle joints 18R(L), 20R(L). The six-axis force sensors50 serve to detect whether the feet 22R(L) of the legs 2 have landed onthe floor or not and also to detect floor reaction forces (landingloads) acting on the legs 2. The six-axis force sensors 50 output adetected signal of three direction components Fx, Fy, Fz of atranslational force of the floor reaction force and three directioncomponents Mx, My, Mz of a moment, to the control unit 60. The body 3has an inclination sensor 54 for detecting an inclination (postureangle) of the body 3 with respect to a Z-axis (vertical direction(gravitational direction)), an angular velocity of the inclination, etc.A detected signal of the inclination sensor 54 is output from theinclination sensor 54 to the control unit 60. The inclination sensor 54has three-axial-direction acceleration sensors and three-axial-directiongyro sensors, not shown. Detected signals from these sensors are used todetect an inclination of the body 3 and its angular velocity, and arealso used to estimate a self position/posture of the robot. Though notshown in structural detail, each of the joints of the robot 1 has anelectric motor 64 (see FIG. 5) for actuating the joint and an encoder(rotary encoder) 65 (see FIG. 5) for detecting an angular displacement(rotational angle of the joint) of the motor 64. A detected signal ofthe encoder 65 is output from the encoder 65 to the control unit 60.

Though not shown in FIG. 1, a joystick (manipulator) 73 (see FIG. 5) ismounted in an appropriate position on the robot 1. When the joystick 73is operated, a request with respect to gaits of the robot 1 such as forturning the robot 1 which is moving straight can be input as required tothe control unit 60.

FIG. 2 is a view schematically showing a basic arrangement of the distalend portion (including each foot 22R(L)) of each leg 2 in the presentembodiment. As shown in FIG. 2, a spring mechanism 70 is disposedbetween the foot 22R(L) and the six-axis force sensor 50 above the foot22R(L), and a foot sole elastic member 71 made of rubber or the like isapplied to the foot sole (the sole of each of the feet 22R, L). Thespring mechanism 70 and the foot sole elastic member 71 jointly make upa compliance mechanism 72. The spring mechanism 70, whose details willbe described later, comprises a square-shaped guide member (not shown inFIG. 2) mounted on an upper surface of the foot 22R(L) and a piston-likemember (not shown in FIG. 2) mounted on the side of the ankle joint18R(L) (the ankle joint 20R(L) is omitted from illustration in FIG. 2)and the six-axis force sensor 50, the piston-like member being slidablymovably accommodated in the guide member with an elastic member (rubberor spring) interposed therebetween.

The foot 22R(L) as indicated by the solid lines in FIG. 2 represent astate in which no floor reaction force is applied thereto. When each leg2 undergoes a floor reaction force, the spring mechanism 70 and the footsole elastic member 71 of the compliance mechanism 72 flex, allowing thefoot 22R(L) to change to a position/posture indicated by the dottedlines in FIG. 2, for example. As described in detail in Japaneselaid-open patent publication No. Hei 5-305584 which the presentapplicant has proposed earlier, the structure of the compliancemechanism 72 is important not only for reducing landing shocks, but alsofor increasing controllability.

Structural details of the foot 22R(L) including the compliance mechanism72 (which will also be referred to as a foot mechanism 22R(L)) will bedescribed below with reference to FIGS. 3 and 4. FIG. 3 is a sectionalside elevational view of the foot mechanism 22R(L), and FIG. 4 is a planview of the foot mechanism 22R(L) as viewed from its bottom.

The foot mechanism 22R(L) has a foot plate member 102 substantially inthe form of a flat plate as a skeleton member. The foot plate member 102has a front end portion (toe) and a rear end portion (heel) which arecurved slightly upwardly, and a remaining portion in the form of a flatplate. A guide member 103 having a rectangular transversecross-sectional shape is fixedly mounted on an upper surface of the footplate member 102, with its axis oriented vertically. The guide member103 houses therein a movable plate (piston-like member) 104 that ismovable substantially vertically along an inner peripheral surface ofthe guide member 103. The movable plate 104 is coupled to each of theankle joints 18R(L), 20R(L) by the six-axis force sensor 50.

The movable plate 104 has a lower surface whose peripheral edge iscoupled to the upper surface of the foot plate member 102 by a pluralityof resilient members 106 (illustrated as springs) made of a resilientmaterial such as springs, rubber, or the like. Therefore, the foot platemember 102 is coupled to the ankle joints 18R(L) by the resilientmembers 106, the movable plate 104, and the six-axis force sensor 50.The guide member 103 has an interior (a space below the movable plate104) vented to the atmosphere through a hole or a gap (not shown),allowing atmospheric air to flow into and out of the guide member 103.The guide member 103, the movable plate 104, and the resilient members106 jointly make up the spring mechanism 70 shown in FIG. 2.

The foot plate member 102 has a bottom surface (a lower surface) towhich landing members 71 as the foot sole elastic member 71 areattached. The landing members 71 serves as elastic members (elasticmembers which directly contact the floor) that are interposed betweenfoot plate member 102 and the floor when the foot mechanism 22R(L) islanded on the floor. In the present embodiment, the landing members 71are fixed to respective four corners of the landing surface of the footplate member 102 (both sides of the toe and both sides of the heel ofthe foot plate member 102).

In the present embodiment, the landing member 71 is of a two-layerstructure comprising a soft layer 107 a made of a relatively soft rubbermaterial and a hard layer 107 b made of a relatively hard rubbermaterial, the soft layer 107 a and the hard layer 107 b beingsuperimposed vertically. The hard layer 107 b is disposed on thelowermost surface as a landing surface member for directly contactingthe floor when the leg 2 is landed on the floor.

The foot mechanism 22R(L) also has a landing shock damping device 108other than the above structural components. The landing shock dampingdevice 108 comprises a pouch-like member 109 mounted on the bottomsurface of the foot plate member 102 and a flow passage 110 for allowingair (atmospheric air) as a compressible fluid to flow into and out ofthe pouch-like member 109.

The pouch-like member 109 is disposed substantially centrally on thebottom surface of the foot plate member 102 with the landing members 71being present around the pouch-like member 109. The pouch-like member109 is made of an elastic material such as rubber or the like so thatthe pouch-like member 109 is freely deformable. When the pouch-likemember 109 is in a natural state free of elastic deformation underexternal forces, the pouch-like member 109 is in the shape of acylindrical casing that is open upwardly, as indicated by the solidlines in FIG. 3. The pouch-like member 109 has an open end fixed alongits full circumference to the bottom surface of the foot plate member102, and is closed by the foot plate member 102. When the pouch-likemember 109 is in the natural state in which it is in the shape of acylindrical casing, the bottom of the pouch-like member 109 projectsdownwardly beyond the landing members 71. That is, the height of thepouch-like member 109 (the distance from the lower surface of the footplate member 102 to the bottom of the pouch-like member 109) is greaterthan the thickness of the landing members 71. Therefore, in a state inwhich the foot plate member 102 is landed on the floor through thelanding members 71 (a landed state of the leg 2), the pouch-like member109 is compressed in the direction of the height thereof under floorreaction forces as indicated by the imaginary line in FIG. 3.

In the present embodiment, the natural state in which the pouch-likemember 109 is in the shape of a cylindrical casing is an expanded stateof the pouch-like member 109. Since the pouch-like member 109 is made ofan elastic material, it exerts a restoring force for restoring the shapein the natural state (the shape of a cylindrical casing) when thepouch-like member 109 is compressed.

The flow passage 110 serves as an inlet/outlet means for allowing air toflow into and out of the pouch-like member 109. In the presentembodiment, the flow passage 110 comprises a flow hole defined in thefoot plate member 102 to provide communication between the interior ofthe pouch-like member 109 and the interior of the guide member 103.Since the interior of the guide member 103 is vented to the atmosphereas described above, the flow passage 110 provides communication betweenthe interior of the pouch-like member 109 and the atmosphere.Consequently, atmospheric air can freely flow into and out of thepouch-like member 109 through the flow passage 110. When the pouch-likemember 109 is in the expanded state (natural state), the pouch-likemember 109 is filled with air and has an internal pressure equal to theatmospheric pressure. The flow passage 110 also serves as a restrictionpassage for producing a fluid resistance to air as it flows into and outof the pouch-like member 109.

FIG. 5 is a block diagram showing an arrangement of the control unit 60.The control unit 60 comprises a microcomputer having a first arithmeticunit 90 and a second arithmetic unit 92 which comprise a CPU, an A/Dconverter 80, a counter 86, a D/A converter 96, a RAM 84, a ROM 94, anda bus line 82 for transmitting data between these components. In thecontrol unit 60, output signals from the six-axis force sensors 50 ofthe legs 2, the inclination sensor 54 (acceleration sensors and gyrosensors), and the joystick 73 are converted by the A/D converter 80 intodigital values, which are then sent via the bus line 82 to the RAM 84.Output signals from the encoders 65 (rotary encoders) of the joints ofthe robot 1 are input via the counter 86 to the RAM 84.

The first arithmetic unit 90 generates a desired gait as describedlater, and calculates joint angle displacement commands (command valuesfor displacement angles of the joints or rotational angles of theelectric motors 64) and sends the calculated joint angle displacementcommands to the RAM 84. The second arithmetic unit 92 reads joint angledisplacement commands from the RAM 84 and measured values of jointangles which are detected based on the output signals from the encoders65, calculates manipulation quantities required to actuate the joints,and outputs the calculated manipulation quantities via the D/A converter96 and a servoamplifier 64 a to the electric motors 64 which actuate thejoints.

FIG. 6 is a block diagram showing a functional arrangement of thecontrol unit of the legged mobile robot according to the presentembodiment. In FIG. 6, a portion other than an “actual robot” isprovided by a processing function performed by the control unit 60(mainly a function of the first arithmetic unit 90 and the secondarithmetic unit 92). In the description which follows, the referencecharacters R, L are omitted unless the left and right legs 2 need to bedistinguished from each other.

The control unit 60 has a gait generation system 200 for generating andoutputting a desired gait for the robot 1 freely in real-time. A desiredgait output by the gait generation system 200 comprises a desired bodyposition/posture trajectory (a trajectory of a desired position and adesired posture for the body 3), a desired foot position/posturetrajectory (a trajectory of a desired position and a desired posture foreach foot 22), a desired arm posture trajectory (a trajectory of adesired posture for each arm 5), a desired total floor reaction forcecentral point (a desired ZMP), and a desired total floor reaction forcetrajectory. If the robot 1 has a member movable with respect to the body3, other than the legs 2 and the arms 5, then a desired position/posturetrajectory for that member is also added to the desired gait.

The meanings or definitions of terms used in the present embodiment willbe supplemented. “Trajectory” in the gait means a pattern ofchronological changes (time-series pattern), and may be referred to as“pattern”. “Posture” of each component collectively refers to theinclination and orientation of the component. “Inclination” representsan angle of the component with respect to the vertical direction, and“orientation” represents the orientation of a vector, as projected ontoa horizontal plane, that indicates the forward direction of thecomponent. For example, an inclination of the body posture comprises aninclination angle (posture angle) of the body 3 in the rolling direction(about the X-axis) with respect to the Z-axis (vertical axis), and aninclination angle (posture angle) of the body 3 in the pitchingdirection (about the Y-axis) with respect to the Z-axis. An orientationof the body 3 is represented by the rotational angle in the yawingdirection (about the Z-axis) of a vector, as projected onto a horizontalplane, that indicates the forward direction of the body 3. A footposture is represented by the spatial azimuthal angles of two axesfixedly set up on each foot 22. A landed posture of the foot 22basically represents the orientation of the foot 22 that is landed onthe floor, and specifically represents the orientation of a vector, asprojected onto a horizontal plane, directed from the heel to the toe ofthe foot 22 that is landed on the floor. A desired arm posture isrepresented by relative postures of all components of the arms 5, 5 withrespect to the body 3.

A body position means a prescribed position of the body, orspecifically, the position of a predetermined representative point ofthe body 3. Similarly, a foot position means the position of apredetermined representative point of each of the feet 22R, 22L. A bodyspeed means the speed of motion of the above representative point of thebody 3, and a foot speed means the speed of motion of the aboverepresentative point of each of the feet 22R, 22L.

With respect to a desired gait such as a desired body position/posture,etc., “desired” will often be omitted in the description which followsunless misunderstandings occur. Of gaits, gaits relative to componentsother than components concerned with the floor reaction force, i.e.,motion of the robot 1, such as a foot position/posture, a bodyposition/posture, etc., is collectively referred to as “motion”.

A floor reaction force of each of the feet 22R, L (a floor reactionforce comprising a translational force and a moment) is referred to as“each foot floor reaction force”, and the sum of floor reaction forcesof all (two) feet 22R, 22L of the robot 1 is referred to as “total floorreaction force”. However, since almost no mention of each foot floorreaction force will be made in the description which follows, “floorreaction force” will be handled as being equivalent in meaning to “totalfloor reaction force” unless otherwise indicated.

A desired floor reaction force is generally represented by a point ofaction, a force (translational force) acting on that point, and a momentof the force. Inasmuch as a point of action may be set up anywhere,countless expressions may be considered for one desired floor reactionforce. If a desired floor reaction force is expressed using the desiredtotal floor reaction force central point described above as a point ofaction, then the moment of the force is 0 except for a vertical axiscomponent.

With a gait which satisfies dynamic equilibrium conditions, since a ZMPcalculated from a desired motion trajectory (a point where a momentproduced when the sum of the inertial force of the robot 1 which iscalculated from the desired motion trajectory and the gravitationalforce acts about the point is 0 except for a vertical axis component)and a desired total floor reaction force central point coincide witheach other, it is equally applicable to say that a desired ZMPtrajectory may be given instead of a desired total floor reaction forcecentral point (for details, reference should be made to PCT laid-openpublication WO/02/40224 filed by the present applicant).

In view of the above background, the specification of PCT laid-openpublication WO/02/40224 defines a desired gait as follows:

-   -   a) A desired gait in a broad sense is a set of a desired motion        trajectory in the period of one step or a plurality of steps and        its desired floor reaction force trajectory.    -   b) A desired gait in a narrow sense is a set of a desired motion        trajectory in the period of one step and its ZMP trajectory.    -   c) A series of gaits is a train of several gaits.

For the robot 1 to walk, when a body vertical position (the height ofthe body) is determined by the body height determining processpreviously proposed in Japanese laid-open patent publication No.10-86080 by the present applicant, since a translational force componentof the floor reaction force is dependently determined, only ZMP issufficient as a physical quantity to be expressly set up with respect tothe floor reaction force of a desired gait. Therefore, the abovedefinition b) of a desired gait in a narrow sense is sufficient in thespecification of PCT laid-open publication WO/02/40224. For the robot 1to run, on the other hand, it is preferable to expressly set up a floorreaction force vertical component as the floor reaction force verticalcomponent is important for controlling purposes. In an PCT application(PCT/JP02/13596) previously proposed by the present applicant,therefore, the following definition b′) of a desired gait in a narrowsense has been adopted:

-   -   b′) A desired gait in a narrow sense is a set of a desired        motion trajectory in the period of one step, its ZMP trajectory,        and a floor reaction force vertical component trajectory.

In the present specification, a desired gait will hereafter be used tomean a desired gait in a narrow sense unless otherwise indicated.Furthermore, “one step” of a desired gait is used to mean an intervalfrom the time when one leg 2 of the robot 1 is landed on the floor untilthe time when the other leg 2 is landed on the floor.

In a gait, a two-leg supporting period refers to a period in which theweight of the robot 1 is supported by both the legs 2, 2, a one-legsupporting period refers to a period in which the weight of the robot 1is supported by either one of the legs 2, and an floating period refersto a period in which both the legs 2, 2 are lifted from the floor(aloft).

In the one-leg supporting period, the leg 2 which does not support theweight of the robot 1 is referred to as “free leg”, and the leg 2 whichsupports the weight of the robot 1 as “supporting leg”. When the robot 1walks, the two-leg supporting period and the one-leg supporting periodare alternately repeated. When the robot 1 runs, the one-leg supportingperiod and the floating period are alternately repeated. In the floatingperiod when the robot 1 runs, both the legs 2, 2 do not support theweight of the robot 1. Nevertheless, the leg 2 which was the free leg inthe one-leg supporting period immediately prior to floating period isalso referred to as the free leg in the floating period, and the leg 2which was the supporting leg in the one-leg supporting periodimmediately prior to floating period is also referred to as thesupporting leg in the floating period.

Positions/postures of various parts of the robot 1 in a desired gait,such as a desired body posture, a desired body position, a desired footposition/posture, a target arm posture, etc., are described in asupporting leg coordinate system. More specifically, as described inJapanese patent No. 3273443 owned by the present applicant, thesupporting leg coordinate system is a coordinate system, created whenthe foot 22 of a supporting leg is turned to a horizontal posturewithout slippage on a landed surface, where the center of the anklejoint of the supporting leg as vertically projected onto the landedsurface serves as the origin, a horizontal axis extending toward the toeof the foot 22 (a longitudinal axis of the foot 22) as the X-axis, avertical axis of the foot 22 as the Z-axis, and a coordinate axis whichis perpendicular to these X- and Z-axes (a transverse axis of the foot22) as the Y-axis.

The gait generation system 200 according to the present embodiment issupplied with requested values (desired values) for landedpositions/postures and landing times of the foot 22 of the free leguntil two steps ahead, and generates a desired gait comprising a desiredbody position/posture trajectory, a desired foot position/posturetrajectory, a desired ZMP trajectory, a desired floor reaction forcevertical component trajectory, and a desired arm posture trajectory.Some of the parameters (referred to as gait parameters) which definethese trajectories are corrected to satisfy the continuity of the gait.

The requested values for landed positions/postures of the foot 22 of thefree leg until two steps ahead are determined by a trajectory guidanceunit 220 shown in FIG. 6, and input to the gait generation system 200.To the trajectory guidance unit 220, there are given a desired path forthe robot 1 (a desired footstep path to be described later) and anallowable landing range such as stepping stones and a staircase (anallowable range of environment-dependent landing positions/orientations)from a movement planning unit 222, and also given an estimated bodyposture representing an estimated value for an actual body posture andestimated values of an actual landing position/orientation (morespecifically, a position/orientation of an estimated supporting legcoordinate system to be described later) of a landed free leg (a freeleg which has become a supporting leg after it is landed on the floor)from a self-position/posture estimator 224. The allowable range ofenvironment-dependent landing positions/postures is concerned with afifth embodiment to be described later. In first through fourthembodiments and a sixth embodiment, a desired path is given from themovement planning unit 222 to the trajectory guidance unit 220.

The gait generation system 200 regards a desired gait (a desired gait ina narrow sense) for one step from the time when one leg 2 of the robot 1is landed on the floor until the time when the other leg 2 is landed onthe floor, as a unit, and sequentially generates such gaits each for onestep. A gait that is generated at present or is about to be generated isreferred to as “current time's gait”, a next gait as “next time's gait”,and a gait that is next to the next gait as “next but one time's gait”.A desired gait that is generated so as to precede the “current time'sgait” is referred to as “last time's gait”.

A desired gait generated by the gait generation system 200 will partlybe described by way of example below. For example, a desired footposition/posture trajectory is generated using a finite time settlingfilter disclosed in Japanese patent No. 3233450 owned by the presentapplicant. In the process of generating a foot position/posturetrajectory with the finite time settling filter, a foot positiontrajectory, for example, is generated in order to start moving the foot22, while gradually accelerating the same, toward a desired landingposition (a requested value for a landing position), gradually reducethe speed to 0 or nearly 0 until a desired landing time (a requestedvalue for a landing time), and stop the foot 20 when it reaches thedesired landing position at the desired landing time. A foot posturetrajectory is also generated in the same manner. The desired footposition/posture trajectory thus generated has a floor speed which is 0or nearly 0 at the instant the foot is landed, and hence can reducelanding shocks when the foot is landed from the floating periodespecially while the robot 1 is running.

When the robot 1 runs in the same manner as a human being runs as shownin FIG. 7, a desired floor reaction force vertical component trajectoryand a desired ZMP trajectory (specifically, a desired ZMP trajectory inthe direction of the X-axis of the supporting leg coordinate system (thelongitudinal direction of the supporting leg foot 22)) are set up inrespective patterns indicated by the solid-line curves in FIGS. 8(a) and8(b). The first through third figures of FIG. 7 schematically showmotion states of both the legs 2, 2 of the robot 1 respectively at thestarting time, the intermediate time, and the ending time of a one-legsupporting period, and the fourth and fifth figures of FIG. 7schematically show motion states of both the legs 2, 2 of the robot 1respectively at the intermediate time of an floating period and theending time of the floating period (the starting time of a next one-legsupporting period).

For causing the robot 1 to run, the desired floor reaction forcevertical component trajectory is basically of an upwardly convex patternin the one-leg supporting period and kept 0 in the floating period. Forcausing the robot 1 to walk, the desired floor reaction force verticalcomponent trajectory is set up as indicated by the two-dot-and-dash-linecurve in FIG. 8(a). In this case, an upwardly convex portion of thetwo-dot-and-dash-line curve corresponds to the two-leg supportingperiod, and a downwardly convex portion of the two-dot-and-dash-linecurve corresponds to the one-leg supporting period. Irrespective ofwhether the robot 1 is to run or walk, the desired ZMMP is basically setup in the vicinity of the center of the landing surface of the legs 2 ofthe robot 1 (more specifically, within a so-called supporting polygon).

FIG. 9 is a flowchart (structured flowchart) showing a gait generatingprocess of the gait generation system 200, a self-position/postureestimating process of the self-position/posture estimator 224 shown inFIG. 6, and a trajectory guidance process of the trajectory guidanceunit 220.

The flowchart will be described below.

In S010, various initializing operations such as to initialize a time tto 0 are performed.

Then, control goes through S012 to S014 in which it waits for a timerinterrupt in each control period (processing period of the control unit60). The control period is represented by Δt.

Then, control goes to S016 in which the self-position/posture estimator224 performs a self-position/posture estimating process. Theself-position/posture estimating process is a process of estimating anactual position and orientation of the robot 1 in a coordinate system(global coordinate system) fixed to the floor (ground) on which therobot 1 moves, and is carried out according to a flowchart shown in FIG.10. The self-position/posture estimating process adopts a thirdembodiment of a process proposed in an application filed on the samedate as the present application (a PCT application claiming prioritybased on Japanese patent application No. 2002-127066, entitled“Apparatus for estimating self-position of legged mobile robot”), and isdescribed in detail in the PCT application. Therefore, theself-position/posture estimating process will be described only briefly.

The self-position/posture estimating process is a process of estimatinga position/posture of the supporting leg coordinate system (moreaccurately, a position and an orientation about the vertical axis of thesupporting leg coordinate system in the global coordinate system) whichcorresponds to the position/posture of the supporting leg foot 22 of therobot 1, as representing an actual position and orientation (about thevertical axis) of the supporting leg foot 22. More specifically, theself-position/posture estimating process is a process of estimating anactual position and orientation (about the vertical axis) of thesupporting leg coordinate system which represents a landedposition/posture of the free leg foot 22 which becomes a new supportingleg foot that is landed in a landing action per step of the robot 1, orstated otherwise, a process of estimating a position and orientation ofthe footstep of the robot 1 in the global coordinate system. Morespecifically, the orientation of the supporting leg coordinate system isexpressed as the orientation about the vertical axis of the X-axis (thelongitudinal horizontal axis of the supporting leg foot 22) of thesupporting leg coordinate system.

The self-position/posture estimating process will be described belowwith reference to FIG. 10. In S2200, detected values of the gyro sensorsof the inclination sensor 54 on the body 3, i.e., detected values ofangular velocities (angular velocities in three-axial-directions) of thebody 3, are integrated (accumulatively added) thereby to determine anestimated body posture which represents an estimated value of the actualbody posture. The estimated body posture is described in the globalcoordinate system. Inclination components of the estimated body posture,i.e., inclination angles with respect to the vertical axis, aredrift-corrected using a gravitational direction detected by theacceleration sensors of the inclination sensor 54 in order to eliminatean accumulation of integral errors (drift) in the detected values of thegyro sensors.

Then, control goes to S2202 to calculate the difference (hereinafterreferred to as a body posture change difference) between a change (thedifference between an estimated body posture in the last control period(time t−Δt) and an estimated body posture in the current control period(time t)) in an estimated body posture as viewed from the globalcoordinate system between control periods, and a change (between adesired body posture in the last control period and a desired bodyposture in the current control period) in the body posture of a desiredgait as viewed from the global coordinate system between controlperiods. The body posture of a desired gait as viewed from the globalcoordinate system is a body posture as viewed from the global coordinatesystem on the assumption that the robot 1 has moved according to thedesired gait without causing a posture inclination and a spin of therobot 1 in one step on a current time's estimated supporting legcoordinate system. The estimated supporting leg coordinate system is asupporting leg coordinate system corresponding to the actualposition/posture of the supporting leg foot 22 of the robot 1. Morespecifically, the estimated supporting leg coordinate system is acoordinate system, created when the actual supporting leg foot 22 of therobot 1 is turned from its position/posture to a horizontalposition/posture without slippage on a landed surface, where the centerof the ankle joint of the supporting leg as vertically projected ontothe landed surface serves as the origin, a horizontal axis extendingtoward the toe of the foot 22 as the X-axis, a vertical axis of the foot22 as the Z-axis, and a coordinate axis which is perpendicular to theseX- and Z-axes as the Y-axis. In the present embodiment, as a result, aposition/posture (a position and an orientation about the vertical axis)of the estimated supporting leg coordinate system is estimated as anestimated value of th self position of the robot 1. The position of theorigin of the estimated supporting leg coordinate system and theorientations of the coordinate axes thereof are expressed according tothe global coordinate system.

It is assumed that an initial value (initial position/posture) of theestimated supporting leg coordinate system has been set in theinitializing process in S010.

Then, control goes to S2204 to determine a posture rotation center.Specifically, a desired ZMP at the instant (present desired ZMP) isdetermined as a posture rotation center. In the present embodiment, inview of the fact that the supporting leg foot 22 may possibly spin onthe landed surface as the free leg swings out, the body posture changedifference which represents the difference between a change in theestimated body posture and a change in the desired body posture duringcontrol periods is regarded as being caused by a spin of the supportingleg foot 22. The posture rotation center means the rotational center ofthe spin of the supporting leg foot 2.

Then, control proceeds to S2206 in which the current time's estimatedsupporting leg coordinate system (the estimated supporting legcoordinate system at the time t-Δt shown in FIG. 11) as rotated aboutthe posture rotation center by the body posture change differencedetermined in S2202 is determined again as the current time's estimatedsupporting leg coordinate system (the current time's estimatedsupporting leg coordinate system at the time t shown in FIG. 11).Because the body posture change difference determined in S2202 generallycontains not only a component about the vertical axis but also acomponent about the horizontal axis, the direction of the Z-axis of theestimated supporting leg coordinate system that is newly determined asdescribed above may not necessarily be the vertical direction. Accordingto the present embodiment, therefore, after the present (at the timet−Δt) estimated supporting leg coordinate system is rotated about theposture rotation center by the body posture change difference, theestimated supporting leg coordinate system is rotated about its ownorigin in order to orient the Z-axis of the estimated supporting legcoordinate system in the vertical direction, thereby determining the new(at the time t) estimated supporting leg coordinate system.Alternatively, the present (at the time t−Δt) estimated supporting legcoordinate system may be rotated about the posture rotation center byonly the component about the vertical axis of the body posture changedifference, thereby determining the new estimated supporting legcoordinate system.

Then, control goes to S2208 to determine whether the present time t is alanding time (the time when the generation of the current time's gaitfor one step is completed) of the free leg foot 22 or not, i.e., whetherthe present time t is a switching time from gait to gait or not.

If the answer to S2208 is YES, then the following process is carriedout: Control goes to S2210 in which the position and orientation of anestimated supporting leg coordinate system for a next time's gait aredetermined such that the relative position/posture relationship of theestimated supporting leg coordinate system for the next time's gait (anestimated supporting leg coordinate system corresponding to a landedposition/posture of the foot 22 of the free leg to be landed next time)to the current time's estimated supporting leg coordinate system(determined in S2206) is the same as the relative position/posturerelationship of the supporting leg coordinate system for the next time'sgait to the supporting leg coordinate system for the desired gait (morespecifically, the current time's gait generated until the time t−Δt (thecontrol period preceding the switching time from gait to gait)). Thesupporting leg coordinate system for the next time's gait to thesupporting leg coordinate system for the desired gait is a supportingleg coordinate system corresponding to the requested value for thelanding position/posture for the first step.

Then, control goes to S2212 in which the position/posture of the nexttime's estimated supporting leg coordinate system is substituted for theposition/posture of the current time's estimated supporting legcoordinate system. Thus, each time the free leg foot 22 is landed (eachtime the answer to S2208 is YES), the position and orientation of theestimated supporting leg coordinate system is determined as representingthe actual landed position/posture of the free leg foot 22. Theestimated supporting leg coordinate system is updated in each controlperiod in view of the spin of the robot 1 until the free leg foot 22 inthe current time's gait is landed.

The self-position/posture estimating process in S016 is now finished. Inthe present embodiment, the position and orientation of the estimatedsupporting leg coordinate system as representing the actual landedposition/posture of the free leg foot 22 in each landing action of therobot 1 is determined. However, the self-position/posture estimatingprocess is not limited to the above sequence. For example, theposition/posture (the position/posture in the global coordinate system)of a certain component, such as the body 3, of the robot 1 maysequentially be estimated according to a known inertial navigationprocess, and the position and orientation of the estimated supportingleg coordinate system may be determined using the estimatedposition/posture and the desired gait for the robot 1 or the detecteddisplacement values of the joints of the robot 1. At any rate, theself-position/posture estimating process may be any process insofar asit is capable of estimating, as accurately as possible, the actuallanded position/posture (particularly, the orientation about thevertical axis for the posture) of the foot 22 which is landed in eachtime's landing action of the robot 1.

Referring back to FIG. 9, after the self-position/posture estimatingprocess is performed as described above, control goes to S018 todetermine whether the present time is a switching time from gait to gait(a time after the generation of a last time's gait is finished, when thegeneration of a current time's gait is to be started) or not. If theanswer to S018 is YES, then control goes to S020. If the answer to S018is NO, then control goes to S038.

When control goes to S020, the time t is initialized to 0.

Then, control goes to S022 in which the trajectory guidance process isperformed by the trajectory guidance unit 220 to determine a next time'ssupporting leg coordinate system and a next but one time's supportingleg coordinate system. The next time's supporting leg coordinate systemis a supporting leg coordinate system corresponding to a requested valuefor the landed position/posture (the landed position/posture of thefirst step) of the foot 22 of the free leg in the current time's gait,and the next but one time's supporting leg coordinate system is asupporting leg coordinate system corresponding to a requested value forthe landed position/posture (the landed position/posture of the secondstep) of the foot 22 of the leg 2 which will become the free leg in thenext time's gait. The trajectory guidance process in S022 ischaracteristic part of the present invention, and will be describedlater on. In S022, a current time's gait period and a next but onetime's gait period are also determined. These gait periods aredetermined based on an action of the joystick 73 and a requested movingspeed (or a requested landing time) for the robot 1 that is set up by apredetermined moving plane or the like.

Then, control proceeds to S024. The processing from S024 to S030 isdescribed in detail in PCT laid-open publication WO/02/40224 andPCT/JP02/13596 which have previously been proposed by the applicant ofthe present application, and will only briefly be described below.

In S024, gait parameters of a normal turning gait to which the currenttime's gait is to be connected are determined based on the next time'ssupporting leg coordinate system, the next but one time's supporting legcoordinate system, the current time's gait period, and the next time'sgait period which have been determined in S022. Mainly, foot trajectoryparameters which define a desired foot position/posture trajectory,reference body posture trajectory parameters which define a referencetrajectory of a desired body posture, arm posture trajectory parameterswhich define a desired arm posture trajectory, ZMP trajectory parameterswhich define a desired ZMP trajectory, and floor reaction force verticalcomponent trajectory parameters which define a desired reaction forcevertical component trajectory are determined. For example, the times andvalues of bent points of the pattern shown in FIG. 8(a) are determinedas the floor reaction force vertical component trajectory parameters.

The normal turning gait means a periodic gait which does not producediscontinuities in the motion of the robot 1 at gait boundaries when thegait is repeated (“normal turning gait” may subsequently be shortened as“normal gait”).

As shown in FIG. 12, one period of the normal turning gait comprises afirst turning gait corresponding to a gait for moving the foot 22 (theright foot 22R of the robot 1 in FIG. 12) of the supporting leg whichcorresponds to the current time's gait supporting leg coordinate system(XY coordinates in FIG. 12) to a position/posture corresponding to thenext but one time's gait supporting leg coordinate system (X″Y″coordinates in FIG. 12), and a second turning gait corresponding to agait for moving the foot 22 (the left foot 22L of the robot 1 in FIG.12) of the supporting leg which corresponds to the next time's gaitsupporting leg coordinate system (X′Y′ coordinates in FIG. 12) to aposition/posture corresponding to the next but two time's gaitsupporting leg coordinate system (X″Y″ coordinates in FIG. 12). In thiscase, a next but two time's gait supporting leg coordinate systemcorresponds to a desired landed position/posture for the free leg foot22 of the second turning gait. The next but two time's gait supportingleg coordinate system is set up such that the position/posture (positionand orientation) of the next but two time's gait supporting legcoordinate system as viewed from the next but one time's gait supportingleg coordinate system (the supporting leg coordinate system of thesecond turning gait) is in conformity with the position/posture(position and orientation) of the next time's gait supporting legcoordinate system (the landed position/posture of the free leg foot 22of the current time's gait) as viewed from the current time's gaitsupporting leg coordinate system. The term “turning” is used withrespect to the normal turning gait because straight motion can becovered by turning motion in a wide sense since turning motion with zeroturning ratio means straight motion.

The normal turning gait is a hypothetical periodic gait that istemporarily generated by the gait generation system 200 to determine adivergent component and a body vertical position/speed at the terminalend of the current time's gait. The normal turning gait is not outputfrom the gait generation system 200 for actually controlling the robot1.

“Divergent” means that the position of the body 3 is displaced to aposition that deviates from the positions of the feet 2, 2. The value ofthe divergent component is a numerical value representing the degree towhich the position of the body of the legged mobile robot deviates fromthe positions of the feet (strictly, the origin of the supporting legcoordinate system established on the surface on which the supporting legis landed), and is represented by a function of the horizontal positionof the body 3 and its speed.

In the present embodiment, a normal gait which is connected subsequentlyto a current time's gait to be generated is set up depending on a movingrequest (requested values for landed positions/postures and landingtimes of the foot 22 of the free leg until two steps ahead), and aninitial divergent component of the normal gait is determined, afterwhich a current time's gait is generated in order to equalize theterminal divergent component of the current time's gait to the initialdivergent component of the normal gait. Details of such a process aredescribed in PCT laid-open publication WO/02/40224 or PCT/JP02/13596which has previously been proposed by the applicant of the presentapplication, and will not be described below.

After the gait parameters of a normal gait have been determined in S024,control goes to S206 to determine an initial state of a normal turninggait (an initial body horizontal position/speed, an initial bodyvertical position/speed, an initial divergent component, an initial bodyposture angle and angular velocity).

Then, control goes to S028 to determine gait parameters of a currenttime's gait (provisionally determine some gait parameters). The gaitparameters of the current time's gait which are determined are foottrajectory parameters, reference body posture trajectory parameters, armposture trajectory parameters, desired ZMP trajectory parameters, anddesired floor reaction force vertical component trajectory parameters,as with the gait parameters of the normal turning gait. Trajectoriesdefined by those parameters are determined so as to be contiguous to thetrajectories of the normal turning gait. Of these parameters, however,the desired ZMP trajectory parameters are temporary. Details of theprocessing in S028 are described in PCT laid-open publicationWO/02/40224 or PCT/JP/02/13596, and will not be described below.

Then, control goes to S030 to correct gait parameters of the currenttime's gait in order to equalize the terminal divergent component of thecurrent time's gait to the initial divergent component of the normalgait. The gait parameters that are corrected are the desired ZMPtrajectory parameters.

In the processing from S026 to S030, a dynamic model representing therelationship between the motion of the robot 1 and the floor reactionforce is employed. The dynamic model may be a simplified model describedin PCT laid-open publication WO/02/40224 or a multiparticle model (fullmodel) described in Japanese laid-open patent publication 2002-326173proposed by the present applicant.

Then, control goes to S032 to determine whether the desired ZMP existsin a predetermined allowable range or not.

The allowable range for the desired ZMP is set up within a range inwhich the desired ZMP can exist (which range is of a minimum convexpolygonal shape including the landed surface, i.e., a so-calledsupporting polygonal shape).

It may be determined whether the gait parameters of the current time'sgait which have been corrected at present satisfy other gait limitingconditions or not. Details of the gait limiting conditions are describedin PCT laid-open publication WO/02/40224.

If the answer to S032 is NO, then control goes to S034 in which thetrajectory guidance unit 220 performs a trajectory guidance correctingsubroutine, to be described later, to correct the next time's supportingleg coordinate system and the next but one time's supporting legcoordinate system which have been determined by the trajectory guidancesubroutine in S022. The processing in S034 is also central part of thepresent invention as with S022, and will be described later on.

Then, control returns via S036 to S024, and the processing from S024 isperformed again.

If the answer to S032 is YES or if the answer to S018 is NO, thencontrol goes to S038 in which a current time's gait instantaneous valueis determined using the dynamic model based on the current time's gaitparameters finally determined in S030. Details of this processing aredescribed in PCT laid-open publication WO/02/40224 or PCT/JP/02/13596,and will not be described below.

Then, control goes to S040 in which an arm swinging action to cancel thespinning force is determined.

Then, control goes to S042 in which the gait generating time t isincremented by At. Thereafter, control returns to S014 to continuegenerating a gait as described above.

The gait generating process of the gait generation system 200, theself-position/posture estimating process of the self-position/postureestimator 224, and the trajectory guidance process of the trajectoryguidance unit 220 have briefly been described above.

The control process of the control unit 60 according to the presentembodiment will further be described with reference to FIG. 6. The gaitgeneration system 200 generates a desired gait as described above. Ofthe generated desired gait, the desired body position/posture(trajectory) and the desired arm posture (trajectory) are directly sentto a robot geometric model (inverse kinematics calculator) 202.

The desired foot position/posture (trajectory), the desired ZMPtrajectory (desired total floor reaction force central pointtrajectory), and the desired total floor reaction force (trajectory)(desired floor reaction force horizontal component and desired floorreaction force vertical component) are directly sent to acomposite-compliance operation determinator 204, and also sent to adesired floor reaction force distributor 206. The desired floor reactionforce distributor 206 distributes the desired total floor reaction forceto the feet 22R, 22L, and determines desired foot floor reaction forcecentral points and desired foot floor reaction forces. The desired footfloor reaction force central points and desired foot floor reactionforces that are determined are sent to the composite-complianceoperation determinator 204.

The composite-compliance operation determinator 204 generates acorrected desired foot position/posture trajectory with deformationcompensation, and sends the generated corrected desired footposition/posture trajectory with deformation compensation to the robotgeometric model 202. When the desired body position/posture (trajectory)and the generated corrected desired foot position/posture (trajectory)are input to the robot geometric model 202, the robot geometric model202 calculates joint displacement commands (values), which satisfy theinput position/postures, for the twelve joints (10R(L), etc.) of thelegs 2, 2, and sends the calculated joint displacement commands to adisplacement controller 208. The displacement controller 208 controlsdisplacements of the twelve joints of the robot 1 to follow the jointdisplacement commands (values) calculated by the robot geometric model202, as desired values.

A floor reaction force generated on the robot 1 (specifically, actualfoot floor reaction forces) is detected by the six-axis force sensors50. The detected value is sent to the composite-compliance operationdeterminator 204. Inclination components of the difference between theestimated body posture determined in S2200 shown in FIG. 10 and thedesired body posture generated by the gait generation system 200, i.e.,posture inclination deviations θerrx, θerry, is sent to a posturestabilization control calculator 212. θerrx represents an inclinationcomponent in the rolling direction (about the X-axis), and θerryrepresents an inclination component in the pitching direction (about theY-axis). The posture stabilization control calculator 212 calculates acompensating total floor reaction force's moment Mdmd about the desiredtotal floor reaction force central point (desired ZMP) in order torecover the inclination of the body posture of the robot 1 to theinclination of the body posture of the desired gait, and sends thecalculated compensating total floor reaction force's moment Mdmd to thecomposite-compliance operation determinator 204. Thecomposite-compliance operation determinator 204 corrects the desiredfloor reaction force based on the input value. Specifically, thecomposite-compliance operation determinator 204 corrects the desiredfloor reaction force in order to cause the compensating total floorreaction force's moment Mdmd to act about the desired total floorreaction force central point (desired ZMP).

The composite-compliance operation determinator 204 determines thecorrected desired foot position/posture (trajectory) with deformationcompensation to equalize the state and floor reaction force of theactual robot calculated from the detected sensor values to the correcteddesired floor reaction force. However, since it is practicallyimpossible to equalize all statuses to desired values, a trade-offrelationship is given therebetween to provide as much agreement betweenthe statuses and the desired values as possible in a compromisedfashion. Specifically, a control deviation for each target value isgiven a weight, and the control process is performed to minimizeweighted average of the control deviation (or the square of the controldeviation). In this manner, the actual foot position/posture and theactual total floor reaction force of the robot 1 are controlled togenerally follow the desired foot position/posture and the desired totalfloor reaction force that are generated by the gait generating system200.

Supplementarily, a deformation of a foot deforming mechanism (theresilient members 106, the foot sole elastic member 71, and thepouch-like member 109 of the feet mechanism shown in FIG. 3) required toproduce a desired value for the floor reaction force corrected by thecomposite-compliance operation determinator 204 is determined using adynamic model (a spring damper model or the like) of the foot deformingmechanism, and the corrected desired foot position/posture (trajectory)with deformation compensation is a desired foot position/posture(trajectory) that is corrected to generate such a deformation.

The trajectory guidance process in S022 according to a first embodimentof the present invention will be described in detail below.

FIG. 13 shows a flowchart of the trajectory guidance process.

In S3000, as shown in FIG. 16, a current time's short-term desired pointQ(0) is determined based on the position of a representative point P(0)of the current time's estimated supporting leg coordinate system (theestimated supporting leg coordinate system determined in the precedingcontrol period) and a desired path.

The desired path is a path along which the actual footstep (a row oflanded positions and orientations of the foot 22 of the free leg) of therobot 1 represented by a time sequence of the estimated supporting legcoordinate system is to follow. In the description which follows, thedesired path may be referred to as a desired footstep path. The desiredfootstep path may be set up in advance, but may be generated from timeto time in order to reach a desired point while avoiding obstacles,based on map information and the estimated self position/posture (theposition and orientation of the estimated supporting leg coordinatesystem in the global coordinate system) of the robot 1. In the presentembodiment, the movement planning unit 222 of the control unit 60outputs the desired footstep path. However, the desired footstep pathmay be generated in S3000.

The representative point P(0) of the supporting leg coordinate system isa given point on the supporting leg coordinate system. As shown in FIGS.14 and 15, the representative point P(0) is set up such that theposition of the representative point P(0) in the direction of the Y-axis(the transverse direction) is located between the feet 22R, 22L whilethe supporting leg 22R or 22L in a horizontal posture that is determinedso as to correspond to the supporting leg coordinate system to satisfythe corresponding relationship between the position/posture of thesupporting leg foot 22 and the position/posture of the supporting legcoordinate system, are flanked in parallel by the other foot 22L or 22R(both feet 22R, 22L are arranged neatly), and the robot 1 is erected inan ordinary upstanding posture (the robot 1 is in a symmetrical state).That is, if the supporting leg foot 22 is the left foot 22L, then, asshown in FIG. 15, the representative point P(0) of the supporting legcoordinate system corresponding to the supporting leg foot 22L has itsposition in the direction of the Y-axis spaced a predetermined distancerightward from the supporting leg foot 22L. If the supporting leg foot22 is the right foot 22R, then, as shown in FIG. 14, the representativepoint P(0) of the supporting leg coordinate system corresponding to thesupporting leg foot 22R has its position in the direction of the Y-axisspaced a predetermined distance leftward from the supporting leg foot22R.

The position of the representative point of the supporting legcoordinate system in the direction of the X-axis should preferably beset up near the heel or toe of the supporting leg foot 22 correspondingto the supporting leg coordinate system. If the representative point ofthe supporting leg coordinate system is set up near the heel of thesupporting leg foot 22, then the feet 22R, 22L do not interfere witheach other even when the toes of the feet 22R, 22L are opened or closedto turn the feet 22R, 22L on site while the representative points of thesupporting leg coordinate systems corresponding to the left and rightfeet 22R, 22L remain in conformity with certain points fixed to thefloor. If the representative point of the supporting leg coordinatesystem is set up near the toe of the foot 22, then the feet 22R, 22L donot interfere with each other even when the heels of the feet 22R, 22Lare opened or closed to turn the feet 22R, 22L on site while therepresentative points of the supporting leg coordinate systemscorresponding to the left and right feet 22R, 22L remain in conformitywith certain points fixed to the floor.

However, if the position of the representative point of the supportingleg coordinate system in the direction of the X-axis (the longitudinaldirection of the supporting leg foot 22) is set up nearly midmostbetween the toe and heel of the supporting leg foot 22, then the heelsor toes of the feet 22R, 22L interfere with each other even when thefoot 22L or 22R is oriented slightly differently from the other foot 22Ror 22L.

In view of the foregoing, according to the present embodiment, as shownin FIGS. 14 and 15, while the robot 1 is in an ordinary upstandingposture (symmetrical posture) with the feet 22R, 22L arranged neatly,the representative points of the supporting leg coordinate systems areset up such that the representative points of the supporting legcoordinate systems corresponding to the left and right feet 22R, 22L arein conformity with each other laterally centrally between the feet 22R,22L near the heels thereof. FIG. 14 shows the representative point ofthe supporting leg coordinate system if the right leg 2R is thesupporting leg. FIG. 15 shows the representative point of the supportingleg coordinate system if the left leg 2L is the supporting leg.

Since the representative point P(0) of the supporting leg coordinatesystem is a point determined by the relative relationship with respectto the foot 22 as it is landed, it may hereinafter be referred to as afoot representative point.

The current time's short-term desired point Q(0) is specifically set upon the desired path (desired footstep path) such that a line segmentP(0)Q(0) has a given length Lq0. Stated otherwise, the current time'sshort-term desired point Q(0) is set to a point of intersection betweenthe circumference of a circle having a center at P(0) and a radius equalto the given length Lq0, and the desired path. However, if the distancefrom the representative point P(0) to a final destination to which therobot 1 is to move is equal to or smaller than the given length Lq0,then the current time's short-term desired point Q(0) is set to thedestination.

The predetermined length Lq0 should preferably be set up depending on amoving speed which is required of the robot 1 such that the length Lq0is greater as the moving speed is higher. If the length Lq0 is smaller,then the speed at which the foot landing position of the robot 1 isasymptotically close to the desired path is higher, and the rate ofchange of the foot landing orientation (or the yaw rate of the body 3 ofthe robot 1) is greater.

Then, control goes to S3002 to determine a representative candidatepoint R(0) of a next time's gait supporting leg coordinate system on theline segment P(0)Q(0). Specifically, the representative candidate pointR(0) is set up on the line segment P(0)Q(0) such that the line segmentP(0)R(0) has a certain given length Lr0. However, if the distance fromthe representative point P(0) to a final destination to which the robot1 is to move is equal to or smaller than the given length Lr0, then therepresentative candidate point R(0) is set to the destination. The givenlength Lr0 may be a length corresponding to an ordinary stride at thetime the robot 1 moves straight at the moving speed that is required ofthe robot 1.

Then, control goes to S3004 to determine a point, closest to therepresentative candidate point R(0), within the allowable landing range,as P(1).

The allowable landing range is an allowable range of positions of thefree leg foot representative point and orientations of the free leg foot22 (an allowable range of positions and orientations of therepresentative point of the next time's gait supporting leg coordinatesystem) at the time the free leg foot 22 is landed, without causingdifficulties such as an interference between the legs 2, motions beyondan allowable motion range of the legs 2, and undue speeds and forcesgenerated by the joint actuators (electric motors 64) of the legs 2 whenthe free leg is swung from the present status of the robot 1 (to startthe current time's gait) to land the free leg foot 22. That is, theallowable landing range is an allowable range based onmechanism-dependent (or motion-dependent) limitations of the robot 1itself (the allowable landing range may hereinafter be referred to asself-dependent allowable landing range).

The self-dependent allowable landing range is therefore included in arange where the free leg and the support leg do not interfere with eachother with the free leg foot being landed.

For example, an interference between the free leg and the supporting legat the time the free leg foot 22 is landed while the robot 1 is walkingwill be considered. If the landing orientation of the free leg foot 22is 0 degree with respect to the supporting leg foot 22, i.e., if thefree leg foot 22 is landed in the same orientation as the supporting legfoot 22 (the orientation of the direction of the X-axis of thesupporting leg coordinate system), then an allowable landing range forthe free leg foot 22 (specifically, an allowable range of free leg footrepresentative points) resides within the thick curve shown in FIG. 18with respect to the supporting leg foot 22. If the landing orientationof the free leg foot 22 is −30 degrees with respect to the supportingleg foot 22, i.e., if the free leg foot 22 is landed in an orientationthat it 30° spaced clockwise from the orientation of the supporting legfoot 22 (the orientation of the direction of the X-axis of thesupporting leg coordinate system), then an allowable landing range(specifically, an allowable range of free leg foot representativepoints) resides within the thick curve shown in FIG. 19.

Strictly, the allowable landing range is a set of combinations of X- andY-coordinates of the representative point of the free leg foot 22 andthe foot landing orientation θz, i.e., a three-dimensional set. FIG. 18shows a subset of the set where the foot landing orientation θz is 0degree, and FIG. 19 shows a subset of the set where the foot landingorientation θz is −30 degrees. FIGS. 18 and 19 each show a rangerepresented by a cross section that is produced when a three-dimensionalallowable landing range is truncated by a plane where the foot landingorientation θz is of a constant value. This cross-sectional range asrepresented by a set of combinations of X- and Y-coordinates is referredto as a self-dependent allowable landing position range.

In the examples shown in FIGS. 18 and 19, the self-dependent allowablelanding range is in conformity with a range where the free leg and thesupporting leg do not interfere with each other while the free leg islanded. Depending on the present position/posture of the free leg foot22 (the position/posture of the free leg foot 22 at the start of thecurrent time's gait), the free leg may interfere with the supporting legwhile the free leg is moving from the present position/posture to thelanded position/posture. In view of such an interference during themotion of the free leg, the self-dependent allowable landing range maybe smaller than a range where the free leg and the supporting leg do notinterfere with each other while the free leg is landed (the allowablelanding ranges shown in FIGS. 18 and 19), depending on the presentposition/posture of the free leg.

The self-dependent allowable landing range may be determined inreal-time while the robot 1 is moving. According to the presentembodiment, the self-dependent allowable landing range is set up by apredetermined map in order to reduce computing loads on the computer ofthe control unit 60. In this case, the self-dependent allowable landingrange is available in the form of a map as a relative allowable rangewith respect to the supporting leg coordinate system. The self-dependentallowable landing range is set up by the map from the position/posture(position and orientation) of the current time's estimated supportingleg coordinate system, the position/posture of the present free leg foot22 with respect to the current time's estimated supporting legcoordinate system, and the landing orientation of the free leg foot 22that is determined by the orientation of the line segment P(0)Q(0).Alternatively, a relative region (range boundary) of the self-dependentallowable landing range with respect to the supporting leg coordinatesystem may be determined in advance by a formula, and the self-dependentallowable landing range may be set up using the formula.

The self-dependent allowable landing range of the free leg foot 22 mayalso be limited to a smaller range when there is no sufficient timeuntil the free leg is landed. In this case, the self-dependent allowablelanding range depends on the landed position/posture of the free legfoot 22 before the landed position/posture is changed (the next time'sgait supporting leg coordinate system which is determined or correctedin the previous trajectory guidance process).

In S3004, specifically, if the representative candidate point R(0)exists within the allowable landing position range (stated otherwise, ifthe combination of the representative candidate point R(0) and the freeleg landing orientation exists in the allowable landing range), then therepresentative candidate point R(0) is determined directly as therepresentative point P(1) at the time the free leg foot 22 is landed forthe current time's gait. As shown in FIG. 16, if the representativecandidate point R(0) deviates from the allowable landing position range,then a point, closest to the representative candidate point R(0), on aboundary (indicated by the thick line) of the allowable landing positionrange is determined as P(1).

Alternatively, within a three-dimensional space which has X- andY-coordinates of the foot representative point and the foot orientationθ as elements, a distance norm a_(NM) between any optional two pointsM=(X_(M), Y_(M), θ_(ZM)), N=(X_(N), Y_(N), θ_(ZN)) may be defined, forexample, by:a _(NM)={square root}{square root over (W _(X)(X _(M) −X _(N))² +W_(Y)(Y _(M) −Y _(N))² +W _(Z)(θ_(ZM)−θ_(ZN))²)}(where W_(X), W_(Y), W_(Z) are weighting coefficients) and the positionand orientation of a point within the self-dependent allowable landingrange where the distance norm is minimum may be determined as theposition and orientation of the next time's gait supporting legcoordinate system, from a point in the three-dimensional space where theX- and Y-coordinates are the coordinates of R(0) and the footorientation is θz.

Then, control goes to S3006 to determine the position and orientation ofthe next time's gait supporting leg coordinate system based on theposition of the representative point P(1) which indicates the landingposition of the free leg foot 22 at the current time's gait, and theorientation of the line segment P(0)Q(0). More specifically, theposition and orientation of the next time's gait supporting legcoordinate system is determined such that the position of therepresentative point of the next time's gait supporting leg coordinatesystem is P(1) and the direction of the X-axis of the next time's gaitsupporting leg coordinate system is the orientation of the line segmentP(0)Q(0).

In the above description, the orientation of the next time's gaitsupporting leg coordinate system is determined as the orientation of theline segment P(0)Q(0). However, the orientation may deviate from anallowable turning range for the orientation of the next time's gaitsupporting leg coordinate system with respect to the current time's gaitsupporting leg coordinate system (a range, determined by themechanism-dependent limitations of the robot 1, for the orientation ofthe next time's gait supporting leg coordinate system, in which theallowable landing range can exist). In such a case, the orientation ofthe next time's gait supporting leg coordinate system is forciblydetermined to be an upper-limit or lower-limit orientation of theallowable turning range, and the position of the next time's gaitsupporting leg coordinate system is determined depending on thedetermined orientation, as with the processing from S3002 to S3006. Thisalso holds true for the process of determining the position andorientation of the next but one time's gait supporting leg coordinatesystem to be described below (specifically, the processing from S3010 toS3014).

Then, control goes to S3008 to determine a next time's short-termdesired point Q(1) based on the representative point P(1) of the nexttime's gait supporting leg coordinate system and the desired path, asshown in FIG. 17. More specifically, the next time's short-term desiredpoint Q(1) is set up on the desired footstep path such that a linesegment P(1)Q(1) has a given length Lq1. However, if the distance fromthe representative point P(1) to the final destination to which therobot 1 is to move is equal to or smaller than the given length Lq1,then the next time's short-term desired point Q(1) is set to thedestination. The length Lq1 may be the same as the length Lq0, but maybe set to a value different therefrom.

Then, control goes to S3010 to determine a representative candidatepoint R(1) of a next but one time's gait supporting leg coordinatesystem on the line segment P(1)Q(1). Specifically, the representativecandidate point R(1) is set up on the line segment P(1)Q(1) such thatthe line segment P(1)R(1) has a certain given length Lr1. However, ifthe distance from the representative point P(1) to a final destinationto which the robot 1 is to move is equal to or smaller than the givenlength Lr1, then the representative candidate point R(1) is set to thedestination. The given length Lr1 may be the same as the length Lr0, butmay be set to a value different therefrom.

Then, control goes to S3012 to determine a point, closest to therepresentative candidate point R(1), as P(2) within the allowablelanding position range set up with respect to the next time's gaitsupporting leg coordinate system (the allowable landing position rangein the case where the free leg landing orientation is the orientation ofthe line segment P(1)Q(1)). Specifically, if the representativecandidate point R(1) does not exist within the allowable landingposition range corresponding to the next time's gait supporting legcoordinate system, then a point, closest to the representative candidatepoint R(1), on a boundary (indicated by the thick line) of the allowablelanding position range is determined as P(2). Also, as is shown in FIG.17, the representative candidate point R(1) itself is determined as P(2)when the representative candidate point R(1) exists within the allowablelanding position range.

Then, control goes to S3014 to determine the position and orientation ofthe next but one time's gait supporting leg coordinate system based onthe position of the representative point P(2) of the next but one time'sgait supporting leg coordinate system and the orientation of the linesegment P(1)Q(1), as with S3004. More specifically, the position andorientation of the next but one time's gait supporting leg coordinatesystem is determined such that the position of the representative pointof the next but one time's gait supporting leg coordinate system is P(2)and the direction of the X-axis of the next but one time's gaitsupporting leg coordinate system is the orientation of the line segmentP(1)Q(1).

The trajectory guidance process in S022 according to the firstembodiment has been described above.

As described above, the processing from S024 to S032 is executed, and ifit is judged that the desired ZMP does not exist in the allowable rangein S032, then control goes to S034 to execute the trajectory guidancecorrecting subroutine.

The trajectory guidance correcting subroutine in S034 will be describedbelow with reference to a flowchart shown in FIG. 20.

In S3100, a deviation by which the desired ZMP exceeds the allowablerange is determined. The deviation is subsequently referred to as e. Thedeviation e is a vector comprising an X-axis component and a Y-axiscomponent of the current time's gait supporting leg coordinate system.The components that do not exceed the allowable range are set to 0.

Then, control goes to S3012 to determine new R(0) (R(0) on the leftside) based on R(0) (R(0) on the right side) determined by thetrajectory guidance correcting subroutine, using the following equation1:R(0)=Ka*e+R(0)   equation 1where Ka is a predetermined coefficient.

The reasons for the above calculation will be described below. If thelanding position of the free leg foot 22 at the current time's gait iscorrected in the trajectory guidance correcting subroutine, then thecorrected quantity of the landing position of the free leg foot 22 atthe current time's gait and the corrected quantity of the desired ZMPtrajectory parameters are made proportional to each other when thedesired ZMP trajectory parameters are corrected to equalize the terminaldivergent component of the current time's gait to the initial divergentcomponent of the normal gait. Therefore, R(0) is changed according tothe equation (1) thereby to prevent the desired ZMP from exceeding theallowable range or at least reduce the deviation by which the desiredZMP exceeds the allowable range.

Then, the processing from S3104 to S3114 is executed in the same manneras with the processing from S3004 to S3014. As with R(0), R(1) may, ormay not necessarily, be changed depending the deviation by which thedesired ZMP exceeds the allowable range. This is because R(1) representsthe representative point of the next but one time's gait supporting legcoordinate system that is used to determine a normal turning gait whichis a hypothetical periodic gait which is not used in the actual controlof the robot 1.

According to the trajectory guidance correcting subroutine, as describedabove, the landing position (desired landing position) of the free legfoot 22 at the current time's gait, i.e., the position of the nexttime's gait supporting leg coordinate system, is corrected such that ifthe desired ZMP exceeds the allowable range, the desired ZMP isprevented from exceeding the allowable range or at least the deviationby which the desired ZMP exceeds the allowable range is reduced.

After the trajectory guidance correcting subroutine is ended, controlgoes via S036 shown in FIG. 9 back to S024, thus executing the aboveprocessing again. Subsequently, if it is judged that the desired ZMPexists in the allowable range in S032, control goes to S038. Whencontrol goes to S038, therefore, a next time's gait supporting legcoordinate system (next time's landing position/posture) and a next butone time's gait supporting leg coordinate system (next but one time'slanding position/posture) have been determined which satisfy both thelimitations on the allowable landing range (self-dependent allowablelanding range) and the desired ZMP allowable range.

In the trajectory guidance correcting subroutine, it is possible todetermine current time's gait parameters to keep the desired ZMP withinthe allowable range by correcting other gait parameters (e.g., gaitperiods or the like) than the positions of the next time's gaitsupporting leg coordinate system and the next but one time's gaitsupporting leg coordinate system.

The first embodiment described above is an embodiment of first throughninth inventions of the present invention, and the gait generatingprocess and the self position/posture estimating process correspondrespectively to a desired gait determining means and a foot landingposition/orientation estimating means. The trajectory guidance processand the trajectory guidance correcting process correspond to a desiredfoot landing orientation determining means.

A second embodiment of the present invention will be described belowwith reference to FIGS. 21 through 24. The second embodiment is the sameas the first embodiment except for the trajectory guidance process inS022 shown in FIG. 9 and the trajectory guidance correcting process inS034 shown in FIG. 9. Therefore, only the trajectory guidance process inS022 in FIG. 9 and the trajectory guidance correcting process in S034 inFIG. 9 according to the second embodiment will be described below.

FIG. 21 is a flowchart of the trajectory guidance process in S022 inFIG. 9 according to the second embodiment.

The trajectory guidance process in S022 according to the secondembodiment will be described below with reference to FIG. 21. In S3200,a curve C which is asymptotically close from the representative pointP(0) to the desired footstep path, as shown in FIG. 22, is determinedbased on the representative point P(0) of the current time's estimatedsupporting leg coordinate system (estimated supporting leg coordinatesystem determined in S016 shown in FIG. 9 in the control period at thecurrent time t) and the desired path (desired footstep path).Specifically, a curve C is determined to be a trajectory for an unmannedvehicle or an automatically driven vehicle under trajectory guidancecontrol to be asymptotically close to the desired path.

More specifically, if a point of intersection between a perpendicularline extending from an optional point A on the curve C to the desiredpath, and the desired path is a point B, then the curvature of the curveC at the point A is determined by the following equation 2:$\begin{matrix}{{{The}\quad{curvature}\quad{of}\quad{the}\quad{curve}\quad{at}\quad{the}\quad{point}\quad A} = {{{Ka}*\left( {{the}\quad{length}\quad{of}\quad{the}\quad{line}\quad{segment}\quad{AB}} \right)} + {{Kb}*\left( {{{the}\quad{orientation}\quad{of}\quad a\quad{line}\quad{tangential}\quad{to}\quad{the}\quad{curve}\quad{at}\quad{the}\quad{point}\quad A} - {{the}\quad{orientation}\quad{of}\quad a\quad{line}\quad{tangential}\quad{to}\quad{the}\quad{desired}\quad{path}\quad{at}\quad{the}\quad{point}\quad B}} \right)}}} & {{equation}\quad 2}\end{matrix}$where Ka, Kb represent predetermined gains.

Then, control goes to S3202 to determine a representative candidatepoint R(0) of a next time's gait supporting leg coordinate system on thecurve C. Specifically, the representative candidate point R(0) is set upon the curve such that the line segment P(0)R(0) has a certain givenlength Lr0. However, if the distance from the representative point P(0)to a final destination to which the robot 1 is to move is equal to orsmaller than the given length Lr0, then the representative candidatepoint R(0) is set to the destination.

Then, control goes to S3204 to determine a point, closest to therepresentative candidate point R(0), as P(1) within the self-dependentallowable landing position range with respect to the current time'sestimated supporting leg coordinate system (the self-dependent allowablelanding position range where the landing orientation is the orientationof the line tangential to the curve C at the representative candidatepoint R(0)), as with the processing in S3004 shown in FIG. 13 accordingto the first embodiment.

Then, control goes to S3206 to determine the position and orientation ofa next time's gait supporting leg coordinate system such that theposition of the representative point of the next time's gait supportingleg coordinate system is P(1) and the direction of the X-axis of thenext time's gait supporting leg coordinate system is the orientation ofa line tangential to the curve C at the representative point P(1) (moreaccurately, the orientation of a line tangential to the curve C at thepoint of intersection between a perpendicular line extending from therepresentative point P(1) to the curve C, and the curve C).

Supplementarily, since the orientation of the line tangential to thecurve C at the representative point P(1) and the orientation of the linetangential to the curve C at the representative candidate point R(0) areconsidered to be substantially equal to each other, the combination ofthe position and orientation of the next time's gait supporting legcoordinate system essentially satisfies the self-depending allowablelanding range.

Then, control goes to S3208 to determine a representative candidatepoint R(1) of a next but one time's gait supporting leg coordinatesystem on the curve C. Specifically, the representative candidate pointR(1) is set up on the curve C such that the line segment P(1)R(1) up onthe curve C such that the line segment P(1)R(1) has a certain givenlength Lq1. However, if the distance from the representative point P(1)to a final destination to which the robot 1 is to move is equal to orsmaller than the given length Lq1, then the representative candidatepoint R(1) is set to the destination. The given length Lq1 may be thesame as the length Lq0, but may be set to a value different therefrom.

Then, control goes to S3210 to determine a point, closest to therepresentative candidate point R(1), as P(2) within the self-dependentallowable landing position range with respect to the next time'ssupporting leg coordinate system (the self-dependent allowable landingposition range where the landing orientation is the orientation of theline tangential to the curve C at the representative candidate pointR(1)), as with the processing in S3012 shown in FIG. 13 according to thefirst embodiment (see FIG. 23).

Then, control goes to S3212 to determine the position and orientation ofa next but one time's gait supporting leg coordinate system such thatthe position of the representative point of the next but one time's gaitsupporting leg coordinate system is P(2) and the direction of the X-axisof the next but one time's gait supporting leg coordinate system is theorientation of a line tangential to the curve at the representativepoint P(2) (more accurately, the orientation of a line tangential to thecurve C at the point of intersection between a perpendicular lineextending from the representative point P(2) to the curve C, and thecurve C).

The trajectory guidance process in S022 in FIG. 9 according to thesecond embodiment has been described above.

The trajectory guidance correcting subroutine in S034 in FIG. 9according to the second embodiment will be described below withreference to FIG. 24 which shows a flowchart thereof.

In step S3300, a deviation e by which the desired ZMP exceeds theallowable range is determined, as with S3100 shown in FIG. 20 accordingto the first embodiment.

Then, control goes to S3302 to determine R(0) according to the equation(1), as with S3102 shown in FIG. 20 according to the first embodiment.

The processing from S3304 to S3312, which is the same as the processingfrom S3204 to S3212 shown in FIG. 21, is executed.

The second embodiment described above is an embodiment of first throughninth inventions of the present invention, as with the first embodiment.

A third embodiment of the present invention will be described below withreference to FIGS. 25 through 27. The third embodiment is the same asthe first embodiment except for the trajectory guidance process in S022shown in FIG. 9 and the trajectory guidance correcting process in S034shown in FIG. 9. Therefore, only the trajectory guidance process in S022in FIG. 9 and the trajectory guidance correcting process in S034 in FIG.9 according to the third embodiment will be described below.

FIG. 25 is a flowchart of the trajectory guidance process in S022 inFIG. 9 according to the third embodiment.

The trajectory guidance process in S022 in FIG. 9 according to the thirdembodiment will be described in detail below. In S3400, as shown in FIG.26, a current time's short-term desired point Q(0) is determined basedon a representative point P(0) of the current time's estimatedsupporting leg coordinate system and a desired path (desired footsteppath), as with S3000 shown in FIG. 13 according to the first embodiment.

Then, control goes to S3402 to determine a representative point P(1) ofa next time's gait supporting leg coordinate system on the line segmentP(0)Q(0) so as not to exceed the self-dependent allowable landingposition range with respect to the current time's estimated supportingleg coordinate system (the self-dependent allowable landing positionrange where the landing orientation is the orientation of the linesegment P(0)Q(0)). Specifically, as shown in FIG. 26, the representativepoint P(1) is set to a point of intersection between the boundary lineof the self-dependent allowable landing position range and the linesegment P(0)Q(0). The self-dependent allowable landing position range isset up in the same manner as with the first embodiment.

Then, control goes to S3404 to determine the position and orientation ofthe next time's gait supporting leg coordinate system such that theposition of the representative point of the next time's gait supportingleg coordinate system is P(1) and the direction of the X-axis of thenext time's gait supporting leg coordinate system is the orientation ofthe line segment P(0)Q(0), as shown in FIG. 26, as with S3006 shown inFIG. 13 according to the first embodiment.

Then, control goes to S3406 to determine a next time's short-termdesired point Q(1) based on the representative point P(1) of the nexttime's gait supporting leg coordinate system and the desired path(desired footstep path), as shown in FIG. 26, as with S3008 shown inFIG. 13 according to the first embodiment.

Then, control goes to S3408 to determine a representative point P(2) ofa next but one time's gait supporting leg coordinate system on the linesegment P(1)Q(1) so as not to exceed the self-dependent allowablelanding position range with respect to the next time's gait supportingleg coordinate system (the self-dependent allowable landing positionrange where the landing orientation is the orientation of the linesegment P(1)Q(1)). Specifically, the representative point P(2) is set toa point of intersection between the boundary line of the self-dependentallowable landing position range with respect to the next time's gaitsupporting leg coordinate system and the line segment P(1)Q(1) (see FIG.26). In FIG. 26, the self-dependent allowable landing position rangewith respect to the next time's gait supporting leg coordinate system isomitted from illustration.

Then, control goes to S3410 to determine the position and orientation ofa next but one time's gait supporting leg coordinate system such thatthe position of the representative point of the next but one time's gaitsupporting leg coordinate system is P(2) and the direction of the X-axisof the next but one time's gait supporting leg coordinate system is theorientation of the line segment P(1)Q(1), as with S3014 shown in FIG. 13according to the first embodiment.

The trajectory guidance process in S022 in FIG. 9 according to the thirdembodiment has been described above.

The trajectory guidance correcting subroutine in S034 in FIG. 9according to the third embodiment will be described below with referenceto FIG. 27 which shows a flowchart thereof.

In step S3500, a deviation e by which the desired ZMP exceeds theallowable range is determined, as with S3100 shown in FIG. 20 accordingto the first embodiment.

Then, control goes to S3502 to determine new P(1) based on P(1)determined in the trajectory guidance subroutine according to thefollowing equation 3:P(1)=Ka*e+P(1)   equation (3)

Then, the processing from S3504 to S3510 is executed in the same manneras with the processing from S3404 to S3410 shown in FIG. 25.

In the trajectory guidance correcting subroutine according to the thirdembodiment, if the desired ZMP exceeds the allowable range, then thelanding position of the free leg foot 22 at the current time's gait (theposition of the next time's gait supporting leg coordinate system) iscorrected to prevent the desired ZMP from exceeding the allowable range.

The third embodiment described above is an embodiment of first throughninth inventions of the present invention, as with the first embodiment.

A fourth embodiment of the present invention will be described belowwith reference to FIGS. 28 through 30. The fourth embodiment is the sameas the first embodiment except for the trajectory guidance process inS022 shown in FIG. 9 and the trajectory guidance correcting process inS034 shown in FIG. 9. Therefore, only the trajectory guidance process inS022 in FIG. 9 and the trajectory guidance correcting process in S034 inFIG. 9 according to the fourth embodiment will be described below.

FIG. 28 is a flowchart of the trajectory guidance process in S022 inFIG. 9 according to the fourth embodiment.

The trajectory guidance process in S022 according to the fourthembodiment will be described in detail below with reference to FIG. 28.In S3600, a first turning gait determined in the last control period(the control period preceding the control period of the switching timefrom gait to gait) is set as a current time's gait, and a second turninggait determined in the last control period is set as a next time's gait.Stated otherwise, the first turning gait and the second turning gait ofthe normal turning gait (see FIG. 12) which is determined at the startof generating the last time's gait are set respectively as the currenttime's gait and the next time's gait.

Then, control goes to S3602 to calculate a predicted next time's landingposition/posture and a predicted next but one time's landingposition/posture based on the current time's estimated supporting legcoordinate system (the estimated supporting leg coordinate systemfinally determined in S016 shown in FIG. 9 in the control period of theswitching time from gait to gait), and the current time's gait and thenext time's gait that are determined in S3600. The predicted next time'slanding position/posture is a provisional value of the landingposition/posture of the free leg foot 22 at the current time's gait, andthe predicted next but one time's landing position/posture is aprovisional value of the landing position/posture of the free leg foot22 at the next time's gait.

More specifically, on the assumption that the supporting leg coordinatesystem of the current time's gait is in conformity with the currenttime's estimated supporting leg coordinate system, the predicted nexttime's landing position/posture (the predicted landingposition/orientation of the free leg foot 22 at the current time's gait)and the predicted next but one time's landing position/posture (thepredicted landing position/orientation of the free leg foot 22 at thenext time's gait) are determined to satisfy the relationship between thecoordinate systems shown in FIG. 12 (specifically, the next time's gaitsupporting leg coordinate system, the next but one time's gaitsupporting leg coordinate system, and the next but two time's gaitsupporting leg coordinate system shown in FIG. 12). This process will bedescribed in greater detail with reference to FIG. 29 and FIG. 12. It isassumed that the supporting leg coordinate system of the first turninggait (the next time's gait supporting leg coordinate system shown inFIG. 12) of the normal turning gait that is determined so as tocorrespond to the last time's gait is in agreement with the currenttime's estimated supporting leg coordinate system. Then, the predictednext time's landing position/posture is determined such that theposition and orientation of a predicted next time's supporting legcoordinate system (see FIG. 29) corresponding to the predicted nexttime's landing position/posture, as viewed from the current time'sestimated supporting leg coordinate system, is in conformity with theposition and orientation of the supporting leg coordinate system of thesecond turning gait as viewed from supporting leg coordinate system ofthe first turning gait of the normal turning gait corresponding to thelast time's gait (the position and orientation of the next but onetime's gait supporting leg coordinate system as viewed from the nexttime's gait supporting leg coordinate system shown in FIG. 12).Therefore, the relative position/posture of the predicted next time'ssupporting leg coordinate system with respect to the current time'sestimated supporting leg coordinate system shown in FIG. 29 is made thesame as the relative position/posture of the next but one time's gaitsupporting leg coordinate system (the supporting leg coordinate systemof the second turning gait) with respect to the next time's gaitsupporting leg coordinate system (the supporting leg coordinate systemof the first turning gait) shown in FIG. 12.

Furthermore, the predicted next but one time's landing position/postureis determined such that the position and orientation of a predicted nextbut one time's supporting leg coordinate system (see FIG. 29)corresponding to the predicted next but one time's landingposition/posture, as viewed from the current time's estimated supportingleg coordinate system, is in conformity with the position andorientation of the supporting leg coordinate system of the next firstturning gait as viewed from supporting leg coordinate system of thefirst turning gait of the normal turning gait corresponding to the lasttime's gait (the position and orientation of the next but two time'sgait supporting leg coordinate system as viewed from the next time'sgait supporting leg coordinate system shown in FIG. 12). Therefore, therelative position/posture of the predicted next but one time'ssupporting leg coordinate system with respect to the current time'sestimated supporting leg coordinate system shown in FIG. 29 is made thesame as the relative position/posture of the next but one time's gaitsupporting leg coordinate system (the supporting leg coordinate systemof the second first turning gait) with respect to the next time's gaitsupporting leg coordinate system (the supporting leg coordinate systemof the first first turning gait) shown in FIG. 12.

Then control goes to S3604 to calculate a predicted next time's landingposition deviation and a predicted next time's landing orientationdeviation, which are a positional deviation and an orientationaldeviation of the predicted next time's landing position/posture from thedesired path, as shown in FIG. 29. The predicted next time's landingposition deviation is represented by the length of a perpendicular lineextending from the foot representative point corresponding to thepredicted next time's landing position/posture to the desired path (thedistance from the foot representative point to the desired path), andthe predicted next time's landing orientation deviation is representedby the angle formed between the orientation of a line tangential to thedesired path at a point of intersection between the perpendicular lineand the desired path and the orientation (longitudinal orientation) ofthe foot 22 (22R in FIG. 29) corresponding to the predicted next time'slanding position/posture.

Then, control goes to S3606 to calculate a predicted next but one time'slanding position deviation and a predicted next but one time's landingorientation deviation, which are a positional deviation and anorientational deviation of the predicted next but one time's landingposition/posture from the path, as shown in FIG. 29. These calculationsare performed in the same manner as with S3604 described above.

Then, control goes to S3608 to determine the position and orientation ofa next time's gait supporting leg coordinate system and the position andorientation of a next but one time's gait supporting leg coordinatesystem.

For example, corrective quantities of the position and orientation ofthe next time's gait supporting leg coordinate system and correctivequantities of the position and orientation of the next but one time'sgait supporting leg coordinate system are determined by equations 4, 5,6, and 7, and the determined corrective quantities are added to theposition and orientation of the predicted next time's supporting legcoordinate system corresponding to the predicted next time's landingposition/posture determined in S3602 and the position and orientation ofthe predicted next but one time's supporting leg coordinate systemcorresponding to the predicted next but one time's landingposition/posture determined in S3602, thus determining the next time'sgait supporting leg coordinate system and the next but one time's gaitsupporting leg coordinate system.Corrective quantity of the position of the next time's gait supportingleg coordinate system=K 11*predicted next time's landing positiondeviation +K 12*predicted next time's landing orientation deviation+K13*predicted next but one time's landing position deviation+K 14*predicted next but one time's landing orientation deviation   equation 4Corrective quantity of the orientation of the next time's gaitsupporting leg coordinate system=K 21*predicted next time's landingposition deviation +K 22* predicted next time's landing orientationdeviation+K 23*predicted next but one time's landing positiondeviation+K 24* predicted next but one time's landing orientationdeviation   equation 5Corrective quantity of the position of the next but one time's gaitsupporting leg coordinate system=K 31*predicted next time's landingposition deviation+K 32* predicted next time's landing orientationdeviation+K 33*predicted next but one time's landing positiondeviation+K 34*predicted next but one time's landing orientationdeviation   equation 6Corrective quantity of the orientation of the next but one time's gaitsupporting leg coordinate system=K 41*predicted next time's landingposition deviation+K 42*predicted next time's landing orientationdeviation+K 43*predicted next but one time's landing positiondeviation+K 44*predicted next but one time's landing orientationdeviation   equation 7

In S3608, at least either the position and orientation of the nexttime's gait supporting leg coordinate system or the position andorientation of the next but one time's gait supporting leg coordinatesystem may be corrected.

The trajectory guidance process in S022 in FIG. 9 according to thefourth embodiment has been described above.

The trajectory guidance correcting subroutine in S034 in FIG. 9according to the fourth embodiment will be described below withreference to FIG. 30 which shows a flowchart thereof.

In step S3700, a deviation e by which the desired ZMP exceeds theallowable range is determined, as with S3100 shown in FIG. 20 accordingto the first embodiment.

Then, control goes to S3702 to correct the position of a next time'sgait supporting leg coordinate system and the position of a next but onetime's gait supporting leg coordinate system, by a quantity which isproduced by multiplying a predetermined coefficient Ka by e.

The fourth embodiment described above is an embodiment of tenth throughfourteenth inventions of the present invention, and the gait generatingprocess and the self position/posture estimating process correspondrespectively to a desired gait determining means and a foot landingposition/orientation estimating means. The trajectory guidance processand the trajectory guidance correcting process, as combined together,correspond to a desired foot landing position/orientation provisionallydetermining means and a desired foot landing position/orientationcorrecting means.

A fifth embodiment of the present invention will be described below withreference to FIGS. 31 through 35. The fifth embodiment is the same asthe first embodiment except for the trajectory guidance process in S022shown in FIG. 9 and the trajectory guidance correcting process in S034shown in FIG. 9. Therefore, only the trajectory guidance process in S022in FIG. 9 and the trajectory guidance correcting process in S034 in FIG.9 according to the fifth embodiment will be described below.

The fifth embodiment is an embodiment for an application where theallowable range of landing positions of free leg foot 22 is limited, aswhen the robot walks on stepping stones.

In the above embodiments up to the fourth embodiments, only thedirections of normals to the desired path may basically be taken intoaccount as positional deviations from landing positions of the free legfoot 22 of the robot 1. However, if landing positions of the free legfoot 22 are designated as when the robot walks on stepping stones, thenit is necessary to take into account deviations in both fore-and-aft andlateral directions as positional deviations from the landing positions.

FIG. 31 shows the trajectory guidance process in S022 according to thefifth embodiment.

The trajectory guidance process in S022 according to the fifthembodiment will be described below with reference to FIG. 31. In S3800,an allowable range of environment-dependent next time's landingpositions/orientations and an allowable range of environment-dependentnext but one time's landing positions/orientations are determined. Inthe present embodiment, the processing in S3800 is performed by themovement planning unit 222 shown in FIG. 6. The determined allowablerange of environment-dependent next time's landingpositions/orientations and the determined allowable range ofenvironment-dependent next but one time's landing positions/orientationsare given to the trajectory guidance unit 220, which performs theprocessing in S3802 to be described below.

The allowable range of environment-dependent next time's landingpositions/orientations which is determined in S3800 comprises, as shownin FIG. 32, an allowable range of environment-dependent next time'slanding foot representative point positions (within the thick-line framein FIG. 32) and an allowable range of environment-dependent next time'slanding orientations. In a situation where the allowable range ofenvironment-dependent next time's landing foot representative pointpositions and the allowable range of environment-dependent next time'slanding orientations cannot be set independently of each other, then theallowable range of environment-dependent next time's landingorientations may be a combined allowable range of environment-dependentnext time's landing foot representative point positions andenvironment-dependent next time's landing orientations. The allowablerange of environment-dependent next time's landingpositions/orientations may be available and stored in the form of a map,or may be determined on a case-by-case basis from environmentalinformation indicative of steppingstones or the like. The allowablerange of environment-dependent next but one time's landingpositions/orientations is also set in the same manner as with theallowable range of environment-dependent next time's landingpositions/orientations.

Then, control goes to S3802 to determine the position and orientation ofa next time's supporting leg coordinate system and the position andorientation of a next but one time's supporting leg coordinate system inorder to satisfy all of the allowable range of environment-dependentnext time's landing positions/orientations, the allowable range ofenvironment-dependent next but one time's landingpositions/orientations, and the self-dependent allowable landing rangebased on the mechanism-dependent limitations of the robot 1 itself (theallowable landing range described with reference to FIGS. 18 and 19 inthe first embodiment).

The processing in S3802 will further be described below with referenceto a flowchart shown in FIG. 33. In S3850, a next time's landingposition/orientation (the position of the representative of the nexttime's gait supporting leg coordinate system and the orientation of thenext time's gait supporting leg coordinate system) is provisionallydetermined within the allowable range of environment-dependent nexttime's landing positions/orientations and also within the self-dependentallowable landing range (the self-dependent allowable landing range ofnext time's landing positions/orientations) corresponding to the currenttime's estimated supporting leg coordinate system. Specifically, a nexttime's landing position/orientation is provisionally determined in thecenter of a common region of the allowable range ofenvironment-dependent next time's landing positions/orientations and theself-dependent allowable landing range (a common region of combinationsof positions and orientations).

Then, control goes to S3852 to determine a self-dependent allowablelanding range of next but one time's landing positions/orientationsbased on the provisionally determined next time's landingposition/orientation (the position of the representative point of thenext but one time's supporting leg coordinate system and the footlanding orientation).

Then, control goes to S3854 to determine whether there is a commonregion of the self-dependent allowable landing range of next but onetime's landing positions/orientations and the allowable range ofenvironment-dependent next but one time's landingpositions/orientations.

If the answer to S3854 is YES, then control goes to S3856 to determine anext but one time's landing position/orientation (the position of therepresentative point of the next but one time's supporting legcoordinate system and the orientation of the next but one time'ssupporting leg coordinate system) in the common region of theself-dependent allowable landing range of next but one time's landingpositions/orientations and the allowable range of environment-dependentnext but one time's landing positions/orientations. In this case, thenext but one time's landing position/orientation is determined asubstantially central position and orientation in the common region. Thepositions and orientations of the next time's gait supporting legcoordinate system and the next but one time's gait supporting legcoordinate system are thus determined, after which the processing inS3802 shown in FIG. 31 is put to an end.

If the answer to S3854 is NO, then control goes to S3858 to correct atleast either the position or orientation of the presently determinednext time's landing position/orientation (at least either one of theposition of the representative point of the next time's supporting legcoordinate system and the orientation of the next time's supporting legcoordinate system) in order to bring the self-dependent allowablelanding range of next but one time's landing positions/orientationsclosely to the allowable range of environment-dependent next but onetime's landing positions/orientations (so that they have a commonregion). For example, if there is no common region of the self-dependentallowable landing range of next but one time's landingpositions/orientations and the allowable range of environment-dependentnext but one time's landing positions/orientations, as shown in a leftfigure of FIG. 34, then the next time's landing position/orientation iscorrected as shown in a right figure of FIG. 34. The next time's landingposition/orientation is corrected within the common region of theself-dependent allowable landing range of next time's landingpositions/orientations and the allowable range of environment-dependentnext time's landing positions/orientations.

Then, control goes via S3860 to execute the processing from S3852.Finally, control goes via S3856 to determine the positions andorientations of the next time's gait supporting leg coordinate systemand the next but one time's gait supporting leg coordinate system, afterwhich the processing in S3802 shown in FIG. 31 is put to an end.

The trajectory guidance process in S022 in FIG. 9 according to the fifthembodiment has been described above.

The trajectory guidance correcting subroutine in S034 in FIG. 9according to the fifth embodiment will be described below with referenceto FIG. 35 which shows a flowchart thereof.

In step S3900, a deviation e by which the desired ZMP exceeds theallowable range is determined, as with S3100 shown in FIG. 20 accordingto the first embodiment.

Then, control goes to S3902 to correct the position of a next time'sgait supporting leg coordinate system and the position of a next but onetime's gait supporting leg coordinate system, by a quantity which isproduced by multiplying a predetermined coefficient Ka by e.

Then, control goes to S3904 to correct either the position andorientation of the next time's gait supporting leg coordinate system orthe position and orientation of the next but one time's gait supportingleg coordinate system, with a minimum corrective quantity, if thecorrected position of the next time's gait supporting leg coordinatesystem and the corrected position of the next but one time's gaitsupporting leg coordinate system do not satisfy either one of theallowable range of environment-dependent next time's landingpositions/orientations, the allowable range of environment-dependentnext but one time's landing positions/orientations, and theself-dependent allowable landing range.

Specifically, either the position and orientation of the next time'sgait supporting leg coordinate system or the position and orientation ofthe next but one time's gait supporting leg coordinate system iscorrected in order not to deviate unnecessarily from the valuesdetermined in S3902.

The fifth embodiment described above is an embodiment of fifteenththrough twenty-seventh inventions of the present invention, and the gaitgenerating process and the self position/posture estimating processcorrespond respectively to a desired gait determining means and a footlanding position/orientation estimating means. The trajectory guidanceprocess and the trajectory guidance correcting process, as combinedtogether, correspond to an allowable landing range setting means and adesired foot landing position/orientation determining means.

A sixth embodiment of the present invention will be described below withreference to FIG. 36. FIG. 36 shows a trajectory planning process (arobot footstep determining process) according to the sixth embodiment.This process is executed by the movement planning unit 222 shown in FIG.6.

The sixth embodiment is the same as the first embodiment except for theprocessing sequence performed by the movement planning unit 222.

The trajectory planning process according to the sixth embodiment willbe described below with reference to FIG. 36. In S4000, an initializingprocess is performed. Specifically, the current time's supporting legcoordinate system is substituted for a 0th step supporting legcoordinate system, and a passometer counter nn is reset to 0. A desiredgait is initialized. An initial desired gait is usually a gaitrepresenting an upstanding state of the robot 1.

Then, control goes to S4002 to determine a desired path (desiredfootstep path) based on a predetermined destination and map information.

Then, control goes via S4004 to S4006 to execute the trajectory guidancesubroutine shown in FIG. 13 (the trajectory guidance subroutineaccording to the first embodiment). In the trajectory guidancesubroutine, the estimated supporting leg coordinate system is replacedwith an nnth supporting leg coordinate system, the next time's gaitsupporting leg coordinate system with an (nn+1)th supporting legcoordinate system, and the next but one time's gait supporting legcoordinate system with an (nn+2)th supporting leg coordinate system.

Then, the processing from S4008 to S4020 is executed in the same manneras with the processing from S024 to S036 shown in FIG. 9.

If the answer to S4016 (which determines whether the desired ZMP existsin the allowable range or not) is NO, then control goes to S4018 toexecute the trajectory guidance correcting subroutine shown in FIG. 20,after which control goes via S4020 back to S4008. In the trajectoryguidance correcting subroutine, as with the trajectory guidancesubroutine in S4006, the estimated supporting leg coordinate system isreplaced with the nnth supporting leg coordinate system, the next time'sgait supporting leg coordinate system with the (nn+1)th supporting legcoordinate system, and the next but one time's gait supporting legcoordinate system with the (nn+2)th supporting leg coordinate system.

If the answer to S4016 is YES, then control goes to S4022 to determinewhether a desired trajectory until the robot 1 reaches a finaldestination has been generated or not.

If the answer to S4022 is YES, then the trajectory planning process isput to an end.

If the answer to S4022 is NO, then the passometer counter nn isincremented by 1, after which control returns to S4006.

The trajectory planning process according to the sixth embodiment hasbeen described above. The trajectory planning process is executed beforethe robot 1 moves, and the processed result is given to the gaitgenerating system 200.

The sixth embodiment described above is an embodiment of twenty-eighththrough thirty-forth inventions of the present invention. The processingsequence according to the flowchart shown in FIG. 36 provides variousmeans according to the twenty-eighth through thirty-forth inventions.

In the sixth embodiment, since the allowable range for the desired ZMPand the self-dependent allowable landing range are satisfied by thetrajectory planning process before the robot 1 moves, the gaitgenerating system 200 may dispense with the processing in S022 shown inFIG. 9, and may substitute a sequence of supporting leg coordinatesystems determined in the movement planning unit 222 successively forthe next time's supporting leg coordinate system and the next but onetime's supporting leg coordinate system. In the processing of thetrajectory guidance subroutine in S4006 shown in FIG. 36 and thetrajectory guidance correcting subroutine in S4018 shown in FIG. 36, theprocessing described in the second through fourth embodiments, otherthan the processing described in the first embodiment, may be executed.For determining footsteps of the robot 1 to move the robot 1 in astepping stone environment, the processing described in the fifthembodiment may be executed in the processing of the trajectory guidancesubroutine in S4006 and the trajectory guidance correcting subroutine inS4018. In this manner, an embodiment according to thirty-fifth throughforty-first inventions is provided. In this case, inasmuch as not onlythe allowable range for the desired ZMP and the self-dependent allowablelanding range, but also the allowable range of environment-dependentlanding positions/orientations, are satisfied by the trajectory planningprocess before the robot 1 moves, the processing in S022 shown in FIG. 9according to the fifth embodiment may be dispensed with when the robot 1actually moves.

From the foregoing, it can be interpreted according to the sixthembodiment that part of the trajectory guidance process is executedbefore the robot 1 moves.

In each of the above embodiments, if the robot moves to a destinationwhile avoiding obstacles or the like that are newly found during themovement, a desired path for moving the robot toward the destinationwhile avoiding obstacles or the like may be generated again from theposition/posture of the current time's estimated supporting legcoordinate system, depending on the position/posture of the currenttime's estimated supporting leg coordinate system.

Rather than setting the foot representative point (the representativepoint of the supporting leg coordinate system) at a position deviatingfrom the supporting leg foot 22 toward the other foot 22, therepresentative point of each foot 22 may be set up laterally centrallybetween the feet 22, a desired path for the left leg (a desired footsteppath for the left foot) and a desired path for the right leg (a desiredfootstep path for the right foot) may be set up at positions slightlyspaced from the desired path in each of the embodiments, and a landingposition/posture of the free leg foot 22 may be determined so that therepresentative point of each foot is asymptotically close to the desiredfootstep path. FIG. 37 shows an example (seventh embodiment) in whichdesired paths are set up for the respective left and right feet 22 asdescribed above in the second embodiment. The same modification may beincorporated in the other embodiments.

There may be considered a system for changing the landingposition/posture of the free leg foot 22 to cause the estimated bodyposition/posture to follow the desired body position/posture as withtrajectory guidance for flight vehicles and trajectory guidance forunmanned vehicles. However, even when the rotor moves straight, sincethe desired body position swings fore and aft and laterally in order tosatisfy dynamic equilibrium conditions, an instantaneous movingdirection of the desired body position is not in conformity with along-term moving direction. In addition, because the desired bodyposition/posture changes when the desired gait is corrected, i.e.,because the desired body position/posture depends on the present walkingstate, the trajectory of the desired body position/posture does notbecome a desired trajectory that can absolutely be set up in the globalcoordinate system. According to this system, therefore, there isrequired a highly complex process as for canceling fore- and -aft andlateral swinging motions of the robot to derive a long-term movingdirection of the body 3 in order to eliminate the above shortcomings.

The desired path may be, other than a path set up based on stored mapinformation, a marker placed on the floor, a white line drawn on thefloor, an electrically energized wire, an antenna, or a path made up ofa collection of dots spaced a predetermined distance from a wall (formoving the robot along the wall).

Estimated self-positions may not be positions on the global coordinatesystem, but may be represented by a relative positional relationshipwith respect to the environment, such as white lines drawn on the flooror distances from a wall.

The trajectory guidance process may be executed at times other than theswitching time from gait to gait to correct gait parameters such as alanding position/posture. However, since the landing position of thefree leg foot 22 at the current time's gait is nearly unalterableimmediately before the free leg foot 22 is landed, the landing positionof the free leg foot 22 at the next time's gait is primarily changed inthis case. If it is too late to change the landing position/posture ofthe free leg foot 22 at the current time's gait, then it is preferablenot to correct the landing position/posture of the free leg foot 22 atthe current time's gait, but to correct only the landing position of thefree leg foot 22 at the next time's gait.

That it is too late to correct the landing position/posture of the freeleg foot 22 at the current time's gait refers to a case in which thedesired ZMP trajectory or the free leg foot trajectory cannot be changedby a program, or a case in which the landing position/posture would becorrected beyond physical limitations of the robot, such as when theacceleration pattern of the foot, the joint speed, the force (torque),or the desired ZMP trajectory would exceed their limitations if thedesired landing position is changed.

When the positions and orientations of the next time's and next but onetime's gait supporting leg coordinate systems determined in thetrajectory guidance subroutine are to be changed in the trajectoryguidance correcting subroutine, the trajectory guidance subroutine maybe used rather than the trajectory guidance correcting subroutine to setup again at least either one of the given lengths Lr0, Lr1, Lq0, Lq1(usually the lengths Lq0, Lq1 may be increased and the length Lr0, Lr1may be reduced), thus determining again the positions and orientationsof the next time's and next but one time's gait supporting legcoordinate systems.

As described above, according to each of the above embodiments, since adesired gait is determined based on the landing position/posture(orientation) of the foot 22 which is almost free of the effect ofswinging motions of the body 3, trajectory guidance can be performedwith high accuracy and response to follow the desired path.

According to the first through fifth embodiments and the seventhembodiment,

-   -   1) trajectory guidance (path guidance) can be performed with        high accuracy and response to follow the desired path,    -   2) trajectory guidance (path guidance) can be performed while        satisfying motion limiting conditions due to the structure of        the robot itself, such as an interference between the legs 2,        and    -   3) trajectory guidance (path guidance) can be performed with a        high safety margin maintained.

According to the sixth embodiment,

-   -   4) it is possible to establish a plan which satisfies motion        limiting conditions due to the structure of the robot itself,        such as an interference between the legs 2, and    -   5) it is possible to establish a plan with a high safety margin        maintained.

INDUSTRIAL APPLICABILITY

As described above, the present invention is useful to smoothly move alegged mobile robot such as a biped mobile robot or the like along arequired desired path or in an environment where the landed positions orthe like of the feet are limited, such as on stepping stones or thelike.

1. An apparatus for controlling a legged mobile robot which is movableby repeating lifting and then landing actions of each of a plurality oflegs, comprising: foot landing position/orientation estimating means forestimating a landing position and landing orientation of the foot ofeach of the legs which is landed in each landing action of the robot;desired path setting means for setting a desired footstep path for therobot; desired foot landing orientation determining means fordetermining a desired landing orientation of the foot which is landed inat least either one of subsequent landing actions of the robot in orderto cause actual footsteps of the robot to approach said desired footsteppath based on at least said estimated landing position and landingorientation of the foot and said desired footstep path; desired gaitdetermining means for determining a desired gait for the robot using atleast the desired landing orientation determined by said desired footlanding orientation determining means; and operation control means forcontrolling operation of the robot depending on the determined desiredgait.
 2. An apparatus for controlling a legged mobile robot according toclaim 1, characterized in that said desired landing orientationcomprises an orientation about a vertical axis, and the landingorientation estimated by said foot landing position/orientationestimating means includes at least an orientation about a vertical axis.3. An apparatus for controlling a legged mobile robot according to claim1, characterized in that said legged mobile robot comprises a bipedmobile robot having two legs, the desired landing orientation determinedby said desired foot landing orientation determining means includes atleast a desired landing orientation of the foot which is to be landed ina next time's landing action of the robot and a desired landingorientation of the foot which is to be landed in a next but one time'slanding action of the robot, and said desired gait determining meansdetermines a desired gait which defines the next time's landing actionof the robot using at least said desired landing orientation determinedby said desired foot landing orientation determining means for said nexttime's landing action and said next but one time's landing action.
 4. Anapparatus for controlling a legged mobile robot according to claim 1,characterized in that said desired foot landing orientation determiningmeans determines a desired landing position for the foot whichdetermines said desired landing orientation, together with said desiredlanding orientation, based on at least the landing position and landingorientation of the foot estimated by said foot landingposition/orientation estimating means and said desired footstep path,and said desired gait determining means determines said desired gaitusing the desired landing position and the desired landing orientationwhich are determined by said desired foot landing orientationdetermining means.
 5. An apparatus for controlling a legged mobile robotaccording to claim 4, characterized in that said desired foot landingorientation determining means comprises means for determining a desiredlanding orientation about a vertical axis and a desired landing positionof the foot which is to be landed in at least several landing actionsahead including a next time's landing action, based on at least saidlanding position and landing orientation estimated by said foot landingposition/orientation estimating means and said desired footstep path,said desired gait determining means comprises means for determining adesired gait which defines the next time's landing action using at leastthe desired landing position and desired landing orientation of the footin the several landing actions ahead, which are determined by saiddesired foot landing orientation determining means, and said desiredfoot landing orientation determining means determines a combination of adesired landing position and a desired landing orientation of the footwithin a self-dependent allowable landing range determined undermechanism-dependent limiting conditions of the robot itself, whichinclude an interference between the leg making the next time's landingaction and the other leg, when a desired landing position and a desiredlanding orientation of the foot corresponding to at least the nextlanding action are to be determined.
 6. An apparatus for controlling alegged mobile robot according to claim 5, characterized in that saidself-dependent allowable landing range is set based on a map or formulawhich is determined in advance as defining a relative allowable landingrange of the foot to be landed in the next time's landing action, withrespect to the foot landed in the landing action.
 7. An apparatus forcontrolling a legged mobile robot according to claim 5, characterized inthat said desired gait determining means comprises means forprovisionally determining a desired ZMP in said desired gait whichdefines said next time's landing action using at least the desiredlanding position and desired landing orientation determined by saiddesired foot landing orientation determining means, and said desiredfoot landing orientation determining means corrects at least either oneof said desired landing position and desired landing orientation of thefoot to be landed in at least either one of said several landing actionsahead when the provisionally determined desired ZMP does not satisfypredetermined limiting conditions.
 8. An apparatus for controlling alegged mobile robot according to claim 4, characterized in that saidlegged mobile robot comprises a biped mobile robot having two legs, saiddesired landing position for the foot comprises a representative pointhaving a predetermined positional relationship to each foot and adesired position for a representative point which is determined inadvance with respect to each foot such that the representative pointwith respect to each foot becomes an identical point for both feet whensaid robot is upstanding in a predetermined reference symmetricalposture, and said desired footstep path comprises a path to beapproached by said representative point.
 9. An apparatus for controllinga legged mobile robot according to claim 8, characterized in that saidrepresentative point comprises a point set up near the heel or toe ofeach foot.
 10. An apparatus for controlling a legged mobile robot whichis movable by repeating lifting and then landing actions of each of aplurality of legs to determine a desired gait, control operation of saidrobot depending on the desired gait, determine a hypothetical periodicgait following a new desired gait when the new desired gait isdetermined each time the foot of each leg of the robot is landed in atleast each landing action of the robot, and determines the desired gaitso as to approach the periodic gait, comprising: foot landingposition/orientation estimating means for estimating a landing positionand landing orientation of the foot of each of the legs which is landedin each landing action of the robot; desired path setting means forsetting a desired footstep path for the robot; desired foot landingposition/orientation provisionally determining means for provisionallydetermining a desired landing position and desired landing orientationof the foot which is landed in at least either one of subsequent landingactions of the robot based on at least either one of a latest desiredgait and said periodic gait corresponding to the desired gait, and theestimated landing position and landing orientation of the foot; desiredfoot landing position/orientation correcting means for correcting atleast either one of the provisionally determined desired landingposition and desired landing orientation in order to cause actualfootsteps of the robot to approach said desired footstep path based onthe provisionally determined desired landing position and desiredlanding orientation and said desired footstep path; and desired gaitdetermining means for determining said new desired gait for the robotusing at least the corrected desired landing position and desiredlanding orientation.
 11. An apparatus for controlling a legged mobilerobot according to claim 10, characterized in that said desired landingorientation comprises an orientation about a vertical axis, and thelanding orientation estimated by said foot landing position/orientationestimating means includes at least an orientation about a vertical axis.12. An apparatus for controlling a legged mobile robot according toclaim 10, characterized in that said desired gait determining meanscomprises means for provisionally determining a desired ZMP in said newdesired gait using at least the desired landing position and desiredlanding orientation corrected by said desired foot landingposition/orientation correcting means, and said desired foot landingposition/orientation correcting means corrects at least either one ofsaid desired landing position and desired landing orientation in atleast either one of said several landing actions, which has beenprovisionally determined by said desired foot landingposition/orientation provisionally determining means, when theprovisionally determined desired ZMP does not satisfy predeterminedlimiting conditions.
 13. An apparatus for controlling a legged mobilerobot according to claim 10, characterized in that said legged mobilerobot comprises a biped mobile robot having two legs, said desiredlanding position for the foot comprises a representative point having apredetermined positional relationship to each foot and a desiredposition for a representative point which is determined in advance withrespect to each foot such that the representative point with respect toeach foot becomes an identical point for both feet when said robot isupstanding in a predetermined reference symmetrical posture, and saiddesired footstep path comprises a path to be approached by saidrepresentative point.
 14. An apparatus for controlling a legged mobilerobot according to claim 13, characterized in that said representativepoint comprises a point set up near the heel or toe of each foot.
 15. Anapparatus for controlling a legged mobile robot which is movable byrepeating lifting and then landing actions of each of a plurality oflegs, comprising: foot landing position/orientation estimating means forestimating a landing position and landing orientation of the foot ofeach of the legs which is landed in each landing action of the robot;allowable foot landing range setting means for setting a plurality ofenvironment-dependent allowable landing ranges corresponding to severallanding actions ahead which include at least next time's and next butone time's landing actions, of environment-dependent allowable landingranges determined under environmental conditions in which the robotmoves, which are allowable ranges of combinations of landing positionsand landing orientations of feet landed in the landing actions of therobot; desired foot landing position/orientation determining means fordetermining combinations of desired landing positions and desiredlanding orientations of feet to be landed in said several landingactions ahead in order to satisfy the environment-dependent allowablelanding position ranges, based on at least said estimated landingorientation of the foot and a plurality of environment-dependentallowable landing position ranges set by said allowable foot landingrange setting means; desired gait determining means for determining ahypothetical periodic gait of the robot using at least the determineddesired landing positions and desired landing orientations correspondingto the determined several landing actions ahead, and determining a newdesired gait for the robot which defines at least the next time'slanding action in order to approach the determined hypothetical periodicgait; and operation control means for controlling operation of the robotdepending on the determined new desired gait.
 16. An apparatus forcontrolling a legged mobile robot according to claim 15, characterizedin that said desired landing orientation comprises an orientation abouta vertical axis, and the landing orientation estimated by said footlanding position/orientation estimating means includes at least anorientation about a vertical axis.
 17. An apparatus for controlling alegged mobile robot according to claim 15, characterized in that saiddesired foot landing position/orientation determining means determines acombination of a desired landing position and desired landingorientation for the foot in at least the next time's landing actionwithin a common region of a self-dependent allowable landing rangedetermined under mechanism-dependent limiting conditions of the robotitself, which include an interference between the leg making the nexttime's landing action and the other leg, and the environment-dependentallowable landing range corresponding to the next time's landing action,and said desired gait determining means uses the desired landingposition and desired landing orientation for the foot to be landed in atleast the next time's landing action in order to determine saidhypothetical periodic gait.
 18. An apparatus for controlling a leggedmobile robot according to claim 17, characterized in that saidself-dependent allowable landing range is set based on a map or formulawhich is determined in advance as defining a relative allowable landingrange of the foot to be landed in the next time's landing action, withrespect to the foot landed in the landing action.
 19. An apparatus forcontrolling a legged mobile robot according to claim 15, characterizedin that said desired gait determining means comprises means forprovisionally determining a desired ZMP in the desired gait for therobot which defines at least said next time's landing action, and saiddesired foot landing position/orientation determining means corrects atleast either one of said desired landing position and desired landingorientation of the foot to be landed in at least either one of saidseveral landing actions ahead when the provisionally determined desiredZMP does not satisfy predetermined limiting conditions.
 20. An apparatusfor controlling a legged mobile robot according to claim 15characterized in that said legged mobile robot comprises a biped mobilerobot having two legs, and said desired landing position for the footcomprises a representative point having a predetermined positionalrelationship to each foot and a desired position for a representativepoint which is determined in advance with respect to each foot such thatthe representative point with respect to each foot becomes an identicalpoint for both feet when said robot is upstanding in a predeterminedreference symmetrical posture.
 21. An apparatus for controlling a leggedmobile robot according to claim 20, characterized in that saidrepresentative point comprises a point set up near the heel or toe ofeach foot.
 22. An apparatus for controlling a legged mobile robot whichis movable by repeating lifting and then landing actions of each of aplurality of legs, comprising: foot landing position/orientationestimating means for estimating a landing position and landingorientation of the foot of each of the legs which is landed in eachlanding action of the robot; first allowable landing range setting meansfor setting a plurality of environment-dependent allowable landingranges corresponding to several landing actions ahead which include atleast next time's and next but one time's landing actions, ofenvironment-dependent allowable landing ranges determined underenvironmental conditions in which the robot moves, which are allowableranges of combinations of landing positions and landing orientations offeet landed in the landing actions of the robot; second allowablelanding range setting means for setting a self-dependent allowablelanding range for a combination of a landing position and landingorientation of the foot to be landed in the next time's landing action,based on a desired landing position and desired landing orientation ofthe foot in each landing action which are estimated by said foot landingposition/orientation estimating means and mechanism-dependent limitingconditions of the robot itself, which include an interference betweenthe leg making the next time's landing action and the other leg; desiredfoot landing position/orientation determining means for determining acombination of a desired landing position and desired landingorientation of a foot to be landed in the next time's landing actionwithin a common region of the environment-dependent allowable landingrange and the self-dependent allowable landing range which are setrespectively by said first allowable landing range setting means andsaid second allowable landing range setting means for at least said nexttime's landing action, based on said environment-dependent allowablelanding range and said self-dependent allowable landing range; desiredgait determining means for determining a desired gait which defines thenext time's landing action using at least the determined desired landingposition and desired landing orientation; and operation control meansfor controlling operation of the robot depending on the determineddesired gait.
 23. An apparatus for controlling a legged mobile robotaccording to claim 22, characterized in that said desired landingorientation comprises an orientation about a vertical axis, and thelanding orientation estimated by said foot landing position/orientationestimating means includes at least an orientation about a vertical axis.24. An apparatus for controlling a legged mobile robot according toclaim 22, characterized in that said desired foot landingposition/orientation determining means comprises means for determiningthe desired landing position and desired landing orientationcorresponding to the next time's landing action and thereafterprovisionally determining a self-dependent allowable landing range forthe landing position of the foot to be landed in the next but one time'slanding action based on the determined desired landing position anddesired landing orientation and the mechanism-dependent limitingconditions of the robot, and means for correcting at least either one ofthe desired landing position and desired landing orientationcorresponding to the next time's landing action in order to have acommon region of at least the provisionally determined self-dependentallowable landing range corresponding to the next but one time's landingaction and the next but one time's environment-dependent allowable rangeset by said first allowable landing range setting means for the next butone time's landing action, if said common region is not provided.
 25. Anapparatus for controlling a legged mobile robot according to claim 22,characterized in that said second allowable landing range setting meanssets said self-dependent allowable landing range based on a map orformula which is determined in advance as defining a relative allowablelanding range of the foot to be landed in the next time's landingaction, with respect to the foot landed in the landing action.
 26. Anapparatus for controlling a legged mobile robot according to claim 22,characterized in that said legged mobile robot comprises a biped mobilerobot having two legs, and said desired landing position for the footcomprises a point having a predetermined positional relationship to eachfoot and a position of a representative point which is determined inadvance with respect to each foot such that the representative pointwith respect to each foot becomes an identical point for both feet whensaid robot is upstanding in a predetermined reference symmetricalposture.
 27. An apparatus for controlling a legged mobile robotaccording to claim 26, characterized in that said representative pointcomprises a point set up near the heel or toe of each foot.
 28. Afootstep determining apparatus for determining a desired landingposition and desired landing orientation for the foot of a leg to belanded in each landing action of a legged mobile robot which is movableby repeating lifting and then landing actions of each of a plurality oflegs, comprising: desired path setting means for setting a desiredfootstep path for said robot; wherein the desired landing position anddesired landing orientation for the foot to be landed in each landingaction of said robot are determined based on the desired landingposition and desired landing orientation for the foot landed in at leastthe preceding landing action, and said desired footstep path.
 29. Afootstep determining apparatus for a legged mobile robot according toclaim 28, characterized in that said desired landing orientationcomprises an orientation about a vertical axis.
 30. A footstepdetermining apparatus for a legged mobile robot according to claim 28,characterized in that when a desired landing position and desiredlanding orientation for the foot to be landed in each landing action ofthe robot is to be determined, a combination of a desired landingposition and desired landing orientation for the foot in the landingaction is determined in a self-dependent allowable landing range whichis determined under mechanism-dependent limiting conditions of the robotitself, which include an interference between the leg making the landingaction and the other leg.
 31. A footstep determining apparatus for alegged mobile robot according to claim 30, characterized in that saidself-dependent allowable landing range which is used to determine adesired landing position and desired landing orientation for the foot tobe landed in an Nth landing action of the robot is set based on a map orformula which is determined in advance as defining a relative allowablelanding range of the foot to be landed in the Nth landing action withrespect to the foot to be landed in an (N−1)th landing action.
 32. Afootstep determining apparatus for a legged mobile robot according toclaim 28, comprising: desired landing position/orientation provisionallydetermining means for, when a desired landing position and desiredlanding orientation for the foot to be landed in an Nth landing actionof the robot is to be determined, provisionally determining a desiredlanding position and desired landing orientation of the foot to belanded in several landing actions ahead including said Nth landingaction, based on a desired landing position and desired landingorientation for the foot to be landed in an (N−1)th landing action andsaid desired footstep path; provisional desired gait determining meansfor determining a provisional desired gait of the robot which defines atleast said Nth landing action using the provisionally determined desiredlanding position and desired landing orientation in the several landingactions ahead; and desired landing position/orientation correcting meansfor determining whether a desired ZMP corresponding to the determinedprovisional desired gait satisfies a predetermined limiting condition ornot, and, if the desired ZMP does not satisfy the predetermined limitingcondition, correcting at least either one of the desired landingposition and desired landing orientation of the foot to be landed insaid Nth landing action, thereby to determine the desired landingposition and desired landing orientation of the foot to be landed insaid Nth landing action.
 33. A footstep determining apparatus for alegged mobile robot according to claim 28, characterized in that saidlegged mobile robot comprises a biped mobile robot having two legs, saiddesired landing position for the foot comprises a point having apredetermined positional relationship to each foot and a desiredposition for a representative point which is determined in advance withrespect to each foot such that the representative point with respect toeach foot becomes an identical point for both feet when said robot isupstanding in a predetermined reference symmetrical posture, and saiddesired footstep path comprises a path to be approached by saidrepresentative point.
 34. A footstep determining apparatus for a leggedmobile robot according to claim 33, characterized in that saidrepresentative point comprises a point set up near the heel or toe ofeach foot.
 35. A footstep determining apparatus for determining adesired landing position and desired landing orientation for the foot ofa leg to be landed in each landing action of a legged mobile robot whichis movable by repeating lifting and then landing actions of each of aplurality of legs, comprising: allowable foot landing range settingmeans for setting an environment-dependent allowable landing rangedetermined under environmental conditions in which the robot moves,which is an allowable range of combinations of landing positions andlanding orientations of feet landed in each landing actions of therobot; wherein a combination of the desired landing position and desiredlanding orientation for the foot to be landed in each landing action ofsaid robot is determined based on the desired landing position anddesired landing orientation for the foot landed in at least thepreceding landing action, and said environment-dependent allowablelanding range.
 36. A footstep determining apparatus for a legged mobilerobot according to claim 35, characterized in that said desired landingorientation comprises an orientation about a vertical axis.
 37. Afootstep determining apparatus for a legged mobile robot according toclaim 35, characterized in that when a desired landing position anddesired landing orientation for the foot to be landed in each landingaction of the robot is to be determined, a combination of a desiredlanding position and desired landing orientation for the foot in thelanding action is determined in a common region of a self-dependentallowable landing range determined under mechanism-dependent limitingconditions of the robot itself, which include an interference betweenthe leg making the landing action and the other leg, and theenvironment-dependent allowable landing range corresponding to thelanding action, based on said self-dependent allowable landing range andsaid environment-dependent allowable landing range.
 38. A footstepdetermining apparatus for a legged mobile robot according to claim 37,characterized in that said self-dependent allowable landing range whichis used to determine a desired landing position and desired landingorientation for the foot to be landed in an Nth landing action of therobot is set based on a map or formula which is determined in advance asdefining a relative allowable landing range of the foot to be landed inthe Nth landing action with respect to the foot to be landed in an(N−1)th landing action.
 39. A footstep determining apparatus for alegged mobile robot according to claim 37, comprising: desired landingposition/orientation provisionally determining means for, when a desiredlanding position and desired landing orientation for the foot to belanded in an Nth landing action of the robot is to be determined,provisionally determining a desired landing position and desired landingorientation of the foot to be landed in several landing actions aheadincluding said Nth landing action, based on a desired landing positionand desired landing orientation for the foot to be landed in an (N−1)thlanding action, said environment-dependent allowable landing rangecorresponding to each of the several landing actions ahead, and saidself-dependent allowable landing range corresponding to each of theseveral landing actions ahead; provisional desired gait determiningmeans for determining a provisional desired gait of the robot whichdefines at least said Nth landing action using the provisionallydetermined desired landing position and desired landing orientation inthe several landing actions ahead; and desired landingposition/orientation correcting means for determining whether a desiredZMP corresponding to the determined provisional desired gait satisfies apredetermined limiting condition or not, and, if the desired ZMP doesnot satisfy the predetermined limiting condition, correcting at leasteither one of the desired landing position and desired landingorientation of the foot to be landed in said Nth landing action, therebyto determine a combination of the desired landing position and desiredlanding orientation of the foot to be landed in said Nth landing action.40. A footstep determining apparatus for a legged mobile robot accordingto claim 35, characterized in that said legged mobile robot comprises abiped mobile robot having two legs, and said desired landing positionfor the foot comprises a point having a predetermined positionalrelationship to each foot and a desired position for a representativepoint which is determined in advance with respect to each foot such thatthe representative point with respect to each foot becomes an identicalpoint for both feet when said robot is upstanding in a predeterminedreference symmetrical posture.
 41. A footstep determining apparatus fora legged mobile robot according to claim 40, characterized in that saidrepresentative point comprises a point set up near the heel or toe ofeach foot.
 42. An apparatus for controlling a legged mobile robotaccording to claim 17, characterized in that said legged mobile robotcomprises a biped mobile robot having two legs, and said desired landingposition for the foot comprises a representative point having apredetermined positional relationship to each foot and a desiredposition for a representative point which is determined in advance withrespect to each foot such that the representative point with respect toeach foot becomes an identical point for both feet when said robot isupstanding in a predetermined reference symmetrical posture.